Batch file DOS批处理数组值需要空格

Batch file DOS批处理数组值需要空格,batch-file,Batch File,我很好,真的被这件事缠住了。我需要在为.bat文件设置的数组中包含空格,然后运行以下代码。它不起作用!有什么想法吗 %2是解析到此.bat文件中的变量 set App_Loc=("c$\Program Files\A B") for /f "usebackq delims=" %%i in %App_Loc% do ( robocopy \\%2\%%i <USER DEFINED LOCATION> ) set App\u Loc=(“c$\Program Files\A B”)

我很好,真的被这件事缠住了。我需要在为.bat文件设置的数组中包含空格,然后运行以下代码。它不起作用!有什么想法吗

%2是解析到此.bat文件中的变量

set App_Loc=("c$\Program Files\A B")
for /f "usebackq delims=" %%i in %App_Loc% do (
robocopy \\%2\%%i <USER DEFINED LOCATION>
)
set App\u Loc=(“c$\Program Files\A B”)
对于/f“usebackq delims=“%i in%App_Loc%do”(
机器人复制\\%2\%i
)

任何帮助都将不胜感激

我猜您希望获取c:\Program files\A B中的文件,并在服务器上运行这些文件的robocopy(在%2中定义-批处理脚本的第二个参数,指向用户定义的位置)

我确实相信,如果您规范您的需求,许多误解都可以得到缓解。但是这个脚本应该运行,为您提供一些可以调试的输出

set App_Loc="c:\Program Files\A B"
for /f "tokens=*" %%f in ('dir /b %App_Loc%') do (
    robocopy "\\%2\%%~nf.%%~xf" "USER DEFINED LOCATION"
)
这是我在一个名为test.bat的文件中使用它的方式:

C:\temp>dir "c:\Program Files\A B" /b
ADONETArtifactGenerator_T4CodeGenTemplateCS.vstemplate
Barnaby Weir - Tarot Card Rock.mp3
DisableTaskOffload.reg

C:\temp>test.bat dummy server

C:\temp>set App_Loc="c:\Program Files\A B"

C:\temp>for /F "tokens=*" %f in ('dir /b "c:\Program Files\A B"') do ()

C:\temp>()
robocopy "\\server\ADONETArtifactGenerator_T4CodeGenTemplateCS..vstemplate" "USER DEFINED LOCATION"

C:\temp>()
robocopy "\\server\Barnaby Weir - Tarot Card Rock..mp3" "USER DEFINED LOCATION"

C:\temp>()
robocopy "\\server\DisableTaskOffload..reg" "USER DEFINED LOCATION"

C:\temp>

我不确定我是否理解这个脚本中的数组。基本上,什么东西不起作用?您希望它如何工作?它实际上是如何工作的?您是否尝试过在有空格的项目周围加引号?不要将DOS与Windows中的某些命令解释器混淆。DOS是一个操作系统。