Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


megaloman, Foreigner, Iska, тут проблема теоретическая. Поскольку команда, результат выполнения которой разбирается с помощью "for" (в данном случае этой командой является
Код: Выделить весь код
"%Arc%" a "1 2 3.rar"
),
выполняется в новой копии интерпретатора командной строки, запущенной с ключом "/C" (то есть командная строка запуска данного процесса выглядит так:
Код: Выделить весь код
"C:\Windows\System32\cmd.exe" /c "C:\Program Files\WinRar\rar.exe" a "1 2 3.zip"
),
то и обработка символов кавычек ведётся командой "CMD" и подчиняется правилам из справки по команде "CMD", что и приводит к ошибке.



Выход из этой ситуации такой:
Код: Выделить весь код
for /f "usebackq delims=" %%i in (`""%Arc%" a "1 2 3.zip""`) do echo %%i
,
где "подразборная" команда будет запускаться командной строкой
Код: Выделить весь код
"C:\Windows\System32\cmd.exe" /c ""C:\Program Files\WinRar\rar.exe" a "1 2 3.zip""
.

Последний раз редактировалось Georgio, 30-03-2015 в 14:29.

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:01, 30-03-2015 | #4