Опасайтесь бездумного применения команды cd %~dp0 без проверки результата выполнения. Теоретически, эта команда должна сменить текущий каталог на каталог, в котором расположен командный файл. Как правило, это работает. Однако возможны неожиданности. Однажды был написан простой командный сценарий, задача которого была просто удалить все каталоги рядом с собой. В «свою» директорию он переходил как раз через cd %~dp0. Все было проверено на локальной машине – работало замечательно. После этого сценарий был помещен на файл-сервер, где ему и полагалось быть. Я зашел с помощью Far в сетевой каталог, и для контрольной проверки решил запустить файл еще раз. Дальнейшее словно в тумане. cmd.exe правильно определил местонахождение bat-файла: \\servername\sharename\directory. Однако при попытке сделать туда cd, он сказал, что UNC-пути в качестве текущих каталогов не поддерживаются и лучше он сменит текущий каталог на C:\WINDOWS… Это было действительно мудрое решение… Часть сценария, отвечавшая за удаление всех каталогов, сработала отлично – хорошо, что я успел вовремя остановить это безумие.
В тот день я узнал, что такое System Restore…
DJm00n
16.02.2012 21:53 ноут
Do you really want to delete ?
> файловый сервер
А на следующий день тебе рассказали, что такое бекап? )
БЕКАПЫ НЕ ДЛЯ СУРОВЫХ МУЖИКОВ!
а вообще батники — зло, да
>сервер
> windows
Мусье знает толк в извращениях
дык, паста же
> Остановить это безумие
> ...
Триллер.
боян про говноскрипт, ртфм http://www.rsdn.ru/article/winshell/bata... && http://www.rsdn.ru/article/winshell/NTCo... || юзайте более подходящие решения.