Показать полную графическую версию : [решено] Не корректно работает батник.
ipvinner
13-10-2011, 18:22
Создал файлик mount.bat на рабочем столе со следующим содержанием:
cd C:\Program Files\TrueCrypt
TrueCrypt.exe /auto devices /beep /cache n /history n /letter t /password "ваш пароль здесь" /quit background
pause.
Если вводить команды последовательно через командную строку, то все корректно отрабатывает - диск монтируется.
Но вот запуская батник с тем же содержанием выводит ошибку, что неверный том или пароль. Текст пробовал просто копировать. С правами админинстратора такая же ситуация.
Petya V4sechkin
13-10-2011, 18:27
ошибку, что неверный том или пароль
Кириллица в пароле есть?
ipvinner
13-10-2011, 18:28
Petya V4sechkin, нет
Petya V4sechkin
13-10-2011, 19:47
ipvinner, помимо неправильной кодировки CMD-файла, трудно что-либо придумать.
Foreigner
13-10-2011, 22:49
ipvinner, cd C:\Program Files\TrueCrypt »
Путь в кавычки.
Foreigner, по умолчанию, расширенная обработка команд включена. Для CD это означает, что пути с пробелами допустимы:
…
Изменение команды CHDIR при включении расширенной обработки команд:
Имя текущего каталога в строке вызова преобразуется к тому же регистру символов, что и для существующих имен на диске. Так, команда CD C:\TEMP на самом деле сделает текущим каталог C:\Temp, если он существует на диске. Команда CHDIR перестает рассматривать пробелы как разделители, что позволяет перейти в подкаталог, имя которого содержит пробелы, не заключая все имя каталога в кавычки. Например:
cd \winnt\profiles\username\programs\start menu
приводит к тому же результату, что и:
cd "\winnt\profiles\username\programs\start menu"
При отключении расширенной обработки команд используется только второй вариант.
Но Вы меня натолкнули на мысль: может быть, коллега ipvinner пытался запускать пакетный файл с другого диска? И надо не просто «CD», а «CD /D»?!
Лучше всего, конечно, просто:
"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /auto devices …
ipvinner, а почему не указать точное имя контейнера? Или оно заранее не известно?
ipvinner
17-10-2011, 11:52
Так, если отдельно вводить эти команды, то они прекрасно отрабатывают. А вот в скрипте не хотят
ipvinner, что значит: «отдельно»? Распишите в подробностях.
ipvinner
17-10-2011, 12:45
Почему-то скрипт не кушал процент в пароле. Убрал в пароле процент - все заработало. Если честно не понятно, почему тогда просто в командной строке проходило.
kiripanda
17-10-2011, 13:36
Потому что в пакетных файлах %% нужно удваивать
Почему-то скрипт не кушал процент в пароле. Убрал в пароле процент - все заработало. Если честно не понятно, почему тогда просто в командной строке проходило. »
Символ процента имеет особый смысл в командном процессоре. Попробуйте его удваивать, экранировать (что сработает), или пусть пароль запрашивает сам TrueCrypt — это самый правильный подход.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.