早上好,
我目前正在尝试读取多个目录,而不是多次使用给定语句,我想迭代for循环中的文件夹。
关键数据:
robocopy C:\ Users \ test \ v2.5.0.0 C:\ Users \ enddir * .sql
for / l %% x in(1,1,100)do(echo %% x MY ROBOCOPY STATEMENT)
我的想法是,有4个封装for循环遍历所有目录,所以我能够使用变量 例如:vW.X.Y.Z而不是v2.5.0.0
所以,我的问题是:如何在for循环中设置和使用变量,使其具有当前迭代的值? 如果这有助于解释,我已经习惯了java。
提前感谢您的帮助。 :)
如果缺少某些信息,我很乐意提供更多信息!
编辑: 我认为代码会起作用
for /l %%w in (1, 1, 100) do (
for /l %%x in (1, 1, 100) do (
for /l %%y in (1, 1, 100) do (
for /l %%z in (1, 1, 100) do (
robocopy C:\Users\test\v%%w.%%x.%%y.%%z C:\Users\enddir *.sql
)
)
)
)
答案 0 :(得分:1)
您可以轻松地使用/l
开关批量使用for循环来实现couting循环,如示例所示。这些也可以嵌套:
@echo off
for /l %%w in (1, 1, 10) do (
for /l %%x in (1, 1, 10) do (
for /l %%y in (1, 1, 10) do (
for /l %%z in (1, 1, 10) do (
echo currently at v%%w.%%x.%%y.%%z
)
)
)
)
现在上面已经几乎完全显示在你的问题中,我建议添加一些内容:
应该在您的robocopy行周围添加前面的行if exist C:\Users\test\v%%w.%%x.%%y.%%z (
和后面的行中的右括号,以确保您要复制的目录实际存在。