Как передать путь к каталогу, который имеет место для оболочки Windows? - PullRequest
5 голосов
/ 02 марта 2011

Я использую IEcapt.exe для захвата снимка сайта. Проблема в том, что он не может обработать путь к каталогу, в котором есть место. Как это:

c:\program files\

Есть ли способ, как я могу передать каталог, как это, чтобы он работал?

Ответы [ 3 ]

9 голосов
/ 02 марта 2011

Обычно работают только двойные кавычки путей Windows:

IEcapt.exe "C:\Program Files\some path"

Если это действительно не сработает, вы можете избежать использования 8.3 имени файла или, в случае программных файлов, переменной %programfiles%.

2 голосов
/ 02 марта 2011

Смотрите ответ от Кодзиро. Однако здесь есть хитрость, если вы действительно не можете использовать пробелы или длинные имена файлов, потому что инструменты, которые вы вызываете, не поддерживают это. У меня был этот случай с некоторыми инструментами сборки от MS.

Поскольку короткие имена файлов не могут содержать пробелов, мы можем использовать:

%~sI

... где I - номер параметра текущего подпрограммы (или сценария). Поскольку эта функция работает только с пронумерованными параметрами, возможно, вам придется использовать косвенное обращение, например:

call :mysub "%ProgramFiles%"

:mysub
set VARIABLE=%~s0
goto :eof
0 голосов
/ 10 апреля 2019

Кодзиро ответ работает.Но в моем случае мне нужно было

IEcapt.exe "%programfiles%\some path"

вместо

IEcapt.exe %programfiles%\some path

Второй пример работает с командой echo, чтобы напечатать, например, весь путь на экране, но мне нужно былопервый пример, чтобы правильно передать его моему сценарию.

...