【发布时间】:2011-03-02 05:13:12
【问题描述】:
我正在使用 IEcapt.exe 来捕获网站快照。 问题是,它无法处理有空间的路径目录。像这样:
c:\program files\
有什么方法可以传递这样的目录以使其工作吗?
【问题讨论】:
标签: windows windows-shell
我正在使用 IEcapt.exe 来捕获网站快照。 问题是,它无法处理有空间的路径目录。像这样:
c:\program files\
有什么方法可以传递这样的目录以使其工作吗?
【问题讨论】:
标签: windows windows-shell
通常只使用双引号 Windows 路径即可:
IEcapt.exe "C:\Program Files\some path"
如果这真的不起作用,您也许可以使用 8.3 filename 或者在程序文件的情况下使用 %programfiles% 变量。
【讨论】:
见小次郎的回复。但是,如果您真的不能使用空格或长文件名,这里有一个技巧,因为您调用的工具不支持。我用 MS 的一些构建工具遇到过这种情况。
由于短文件名不允许包含空格,我们可以使用:
%~sI
... 其中I 是当前子(或脚本)的参数编号。由于这是一项仅适用于编号参数的功能,因此您可能必须使用间接寻址,例如:
call :mysub "%ProgramFiles%"
:mysub
set VARIABLE=%~s0
goto :eof
【讨论】:
小次郎的回答有效。但就我而言,我需要
IEcapt.exe "%programfiles%\some path"
而不是
IEcapt.exe %programfiles%\some path
例如,第二个示例使用echo 命令在屏幕上打印整个路径,但我需要第一个示例将其正确传递给我的脚本。
【讨论】:
我希望我可以使用上述方法之一。但是,我只能使用旧的 DOS 短名称。
超过 8 个字符的 DOS 文件名被截断为文件的 ~number。例如,C:\Program Files 为 c:\progra~1,C:\Program Files (x86) 为 c:\progra~2。
您可以使用DIR /X 命令找到文件的短名称。
我特别需要这个来从 Atom 文本编辑器中启动 ConEmu。
我从 Sachleen 的回答 HERE 中得出这种方法
【讨论】: