Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с *.bat

1.8K
12 июня 2004 года
scanf
72 / / 10.12.2003
Написал простую команду в блокноте :
del C:\Documents and Settings\Вася\Рабочий стол\t.exe
Сохранил и окончание txt заменил на bat
Сколько не запускал команда так и не выполнилась.
Почему ?
И как сделать так чтобы она выполнилась ?
10
13 июня 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by scanf
Написал простую команду в блокноте :
del C:\Documents and Settings\Вася\Рабочий стол\t.exe
Сохранил и окончание txt заменил на bat
Сколько не запускал команда так и не выполнилась.


Раз и навсегда запомнить, что никогда нельзя запускать отлаживаемые или неизвестные bat-файлы напрямую из графической оболочки Windows!

Вместо этого запускается или cmd, или цивилизованная консольная программа, вроде Far. Так можно выполнить не только командный файл, но и увидеть результаты.

Выполнение файла в cmd покажет, что система ругается примерно следующим образом: "Файл или каталог C:\Documents не найден". А означает это следующее:
- в Windows, с введением длинных имен файлов (LFN) появилась возможность создавать файлы и каталоги, содержащие символы, которые нельзя было использовать в оригинальной версии DOS
- соответственно, с введением LFN были расширены правила написания имен файлов и каталогов. В частности, имена, содержащие пробелы, должны экранироваться кавычками

Получается, что приведенная команда должна выглядеть так:

 
Код:
del "C:\Documents and Settings\Вася\Рабочий стол\t.exe"
1.8K
13 июня 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by smartsoft

Раз и навсегда запомнить, что никогда нельзя запускать отлаживаемые или неизвестные bat-файлы напрямую из графической оболочки Windows!

Вместо этого запускается или cmd, или цивилизованная консольная программа, вроде Far. Так можно выполнить не только командный файл, но и увидеть результаты.



Спасибо за разъяснение smartsoft.
Я только одного не понял вчём всётаки разница
между cmd и bat помоему в win xp они работают
обсалютно одинаково (в других не проверял) ?

10
14 июня 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by scanf
Я только одного не понял вчём всётаки разница
между cmd и bat помоему в win xp они работают
обсалютно одинаково (в других не проверял) ?


Если речь о расширениях файлов, то разница только в этом. Майкрософту что-то вздумалось в NT назвать файлы командными, а не пакетными. В Windows 9x/ME данное расширение системой не обрабатывается.

1.8K
14 июня 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by smartsoft

Если речь о расширениях файлов, то разница только в этом. Майкрософту что-то вздумалось в NT назвать файлы командными, а не пакетными. В Windows 9x/ME данное расширение системой не обрабатывается.



На счёт разрешений понятно.
Я не понял только это:
"Раз и навсегда запомнить, что никогда нельзя запускать отлаживаемые или неизвестные bat-файлы напрямую из графической оболочки Windows!"
Объясни пожалуйсто почему ?
Чем мне это грозит если не учитывать стирающие не те файлы команды и т.п. ?
Разве *.cmd в этом плане менее опасны ?

10
14 июня 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by scanf
На счёт разрешений понятно.


Разрешений или расширений?

Цитата:
Разве *.cmd в этом плане менее опасны ?


Ты не понял. Я имел в виду не .cmd как расширение файла, а интерпретатор командной строки NT - программа cmd.exe. Без нее трудно найти ошибки в командных файлах, т. к. не видно результатов выполнения команд.

291
16 июня 2004 года
gufy
703 / / 08.01.2003
насколько я понимаю, в batch-файлах нужно использовать DOS-имена файлов, т.е. не Documents and Settings, а DOCUMEN~1 или что-то типа того. хотя я могу ошибаться
10
16 июня 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by gufy
насколько я понимаю, в batch-файлах нужно использовать DOS-имена файлов, т.е. не Documents and Settings, а DOCUMEN~1 или что-то типа того. хотя я могу ошибаться


Можно использовать и DOS-имена файлов. Только это не универсально, если предполагается их запуск из-под Win32.
Дело в том, что короткое имя файла зависит от того, есть ли другие файлы с похожими на него именами. Чаще всего папка "Documents and Settings" называется DOCUMEN~1, но не факт, что она не может называться и DOCUMEN~2 или DOCUMEN~6. Насколько я знаю, правила формирования коротких имен файлов различаются для FAT, NTFS и CDFS.
Поэтому, универсальнее все-таки использовать длинные имена файлов, экранируя их кавычками.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог