MVV

|
Posted: Thu Jun 10, 2010 20:56 Post subject: |
|
|
Эм... А зачем по две штуки двойных кавычек? Это ж эквивалентно их отсутствию. Параметр командной строки заканчивается первым пробельным символом, который не располагается в строке, заключенной в кавычки:
Code: | param1" еще идет "и_еще_идет" и все еще первый" о,уже_второй |
Но вообще скажу по-секрету, что CMD.exe обрабатывает параметры тупорыло. Вместо того чтобы обработать то, что ему дали после /K или /C, как нормальную командную строку, он пытается снять со всей последующей командной строки обрамляющие кавычки... Чем в микрософте думали на этот раз, не знаю, но так как кавычки не допускают вложенности в силу совпадения открывающей и закрывающей оной, он зачастую удаляет нужную кавычку, поэтому нужно передавать ему командную строку, заключенную во внешнюю пару кавычек. Поэтому при работе с CMD.exe правильным будет использовать следующий абсурдный вариант:
Code: | TOTALCMD#BAR#DATA
cmd.exe /c ""%COMMANDER_PATH%\SOFT\LAME\lame.exe"
-b 192 -q 0 --lowpass 22 %N "%O_repack.mp3" &pause"
%COMMANDER_PATH%\ICO\lame.ico
К о д и р о в а т ь в *.MP3 (192 Kbps, CBR)
-1 |
То есть, CMD.exe получит следующую строку после ключа /C:
Code: | ""%COMMANDER_PATH%\SOFT\LAME\lame.exe" -b 192 -q 0 --lowpass 22 %N "%O_repack.mp3" &pause" |
Из которой он удалит крайние кавычки и корректно выполнит оставшуюся команду, то есть, вызовет lame.exe с заданными параметрами и скушает Твикс.
Кстати, закрыть окно, ожидающее нажатия любой клавиши, можно с помощью мыши, выбрав команду Вставить контекстного меню (при непустом буфере обмена).  _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|