由于空间原因导致批处理文件出错

时间:2017-07-05 21:19:48

标签: powershell batch-file

我遇到了一个看似简单的脚本,它基本上是从用户的PC上复制一个项目并将其放在另一台计算机上;但是,目标文件路径中包含一个空格。我已经尝试了多种方法来纠正这个问题(有些我不完全理解),在字符串周围使用双引号来强制它运行powershell。

为了给出这种情况的一个非常简短的前提,我必须补充一点,我最初在Windows 10上使用Powershell创建了这个脚本,我还应该补充说它在Powershell中完全正常,而不是作为.bat。我知道语言或通过程序解释的内容可能存在一些差异。

以下是问题中的字符串:

Copy-Item $ENV:USERPROFILE\Desktop\VAST.accdb -destination "\\PRECDP19670\C$\Users\WAKE\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" -Force -PassThru -Verbose

目标包含文件路径中的空格。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

正如Bill所说,您的BAT文件需要将PowerShell作为可执行文件调用。

PowerShell.exe -command 'Copy-Item $ENV:USERPROFILE\Desktop\VAST.accdb -destination "\\PRECDP19670\C$\Users\WAKE\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" -Force -PassThru -Verbose