我很好,并坚持这个。我需要在我为.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>
)
任何帮助将不胜感激!
答案 0 :(得分:0)
我猜你想要把文件放在c:\ Program Files \ AB中并运行它们的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>