循环通过目录中的蝙蝠,往上用bat文件
问题描述:
目录我有一个bat文件看起来像的哪个部分:循环通过目录中的蝙蝠,往上用bat文件
set test=test
for /d %%x in (..\*.%test%) do xcopy "%%x" c:\path\%test%\%%x\ /S /E /F
xcopy ..\dir c:\path\%test%\dir\ /S /E /F
for循环不工作,而是XCOPY一样。如果我将上面的目录的内容移动到当前目录并更改代码以删除“.. \”:
for /d %%x in (*.%test%) do xcopy "%%x" c:\path\%test%\%%x\ /S /E /F
它的工作原理。有人可以告诉我为什么for循环中的bat脚本无法查找目录吗?我接近这个错误吗?
编辑:我现在已经改变了命令看到的部份答案后,但它仍然不能正常工作:
for /d %%~nxx in (..\*.%MUI%) do xcopy "%%~nxx" c:\temp\%test%\%%~nxx\ /S /E /F
我收到的错误:
%~nxx was unexpected at this time
编辑#2: 我仍然无法工作,我的命令看起来像
for /d %%x in (..\*.%test%) do xcopy "%%~nxx" c:\temp\%test%\%%~nxx\ /S /E /F
for /d %%x in (..\*.%test%) do xcopy "%%x" c:\temp\%test%\%%~nxx\ /S /E /F
答
它可以。但%%x
将包含..\xyz.test
,而不是xyz.test
,这可能不是您想要在您的xcopy目标中。
将其替换为%%~nxx
(用于“名称和x的扩展”)以切断路径。
for /d %%x in (..\*.%test%) do xcopy "%%x" c:\path\%test%\%%~nxx\ /S /E /F
你可以输入行吗?我很困惑,在哪里改变%%〜nxx – user2455869
你使用双重百分号吗?你把它放在xcopy目标部分吗?也许使用大写变量,因为小写字母x可能与〜x标识符冲突。 – ths
我收录了一个显示我已经完成的编辑 – user2455869