我不知道如何描述我正在尝试做什么,但这里是一个示例批处理文件,演示了我无法弄清楚的事情:如何将环境变量设置为批处理文件中的空格值?
我有一个批处理文件。内部的批处理文件,我试图创建一个目录:
Set CopyFrom = %~dp0
if Exist "%ProgramFiles(x86)" (
Set TargetDir = %ProgramFiles(x86)%\My Directory Name has spaces
)
md %TargetDir%\NewSubFolder
copy %CopyFrom%\SourceFile.zip %TargetDir%\NewSubFolder
我的批处理文件第4行Set TargetDir =...
与失败:
\My was unexpected at this time
我假设这是因为我有我的空间路径名称。我想我可能只是换我的变量与报价:
Set TargetDir = "%ProgramFiles(x86)%\My Directory Name has spaces"
但是当我去创建它失败,因为%TargetDir%
现在包裹在引号中的目录就行了。 md "%TargetDir%"\NewSubFolder
这可以修复吗?或者我应该写一个VBScript来解决问题吗?
谢谢,这只是票,非常感谢。 – BobTheBuilder 2009-11-07 21:42:36
从来没有想过我可以将整个项目包在引号之后......当然,这不完全直观吗? – BobTheBuilder 2009-11-07 21:43:44
不,不直观。 (没有太多关于Windows命令行 - 这就是为什么我切换到PowerShell)。我认为它是这样的:“=”的两边是set命令的单个参数。 – zdan 2009-11-07 23:03:04