批次:FOR / R不具有可变的路径工作 [英] Batch: FOR /R doesn't work with a variable in the path
本文介绍了批次:FOR / R不具有可变的路径工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一个例子:
FOR %%i IN (3) DO (
ECHO %%i
FOR /R "C:\backup\server%%i\temp" %%? IN (*.bak) DO (
REM some code...
)
)
ECHO
的结果: 3
第二 FOR
结果:不执行code
但随着
FOR %%i IN (3) DO (
ECHO %%i
FOR /R "C:\backup\server3\temp" %%? IN (*.bak) DO (
REM some code...
)
)
ECHO
的结果: 3
第二 FOR
结果:执行code
任何想法?
推荐答案
唯一能做的我已经找到了:
Only solution i've found:
FOR %%i IN (3) DO (
PUSHD "C:\backup\server%%i\temp"
FOR /R %%g IN (*.bak) DO (
REM some code...
)
POPD
)
文件: http://ss64.com/nt/for_r.html
如果在[盘符:]路径没有指定,他们将默认为当前
驱动器:路径
If the [drive:]path are not specified they will default to the current drive:path.
编辑:我加入 PUSHD
/ POPD
dbenham被应答后。多亏了他。
I added PUSHD
/POPD
after dbenham is answered. Thanks to him.
这篇关于批次:FOR / R不具有可变的路径工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文