[英]Batch: Save directory listing into list-variable
我想从源目录( C:\\Users\\Desktop\\Source\\Test.xlsx
)中获取文件,并将其复制到几个具有相同结构的文件夹中。 因此,我只需要更改一个文件夹名称。 所有操作都通过一个批处理文件和一个随后创建的日志文件完成。
有动态扩展我的批处理程序在这里,我想要做的根文件夹的内容进行过滤( C:\\Users\\Desktop\\Replica\\
),这说明我孩子的( one
two
three
four
five
),其中文件需要在内部被复制testfolder
。 目前,我已经完成了以下操作,这是静态的:
set "list=one two three four five"
(
for %%i in (%list%) do (
xcopy "C:\Users\Desktop\Source\Test.xlsx" "C:\Users\Desktop\Replica\%%i\testfolder" /Y
echo(%%i
echo(
)
)>copylog.txt
因此,我的问题基本上是谁只列出“副本”下的文件夹,然后将它们放在一个列表变量中,以便在已编写的代码中使用。 我只找到了将它们保存在单独的.txt文件中的源,但是我只想将其保留在批处理中。
对这个有任何猜测吗?
顺便说一句:我经历过将路径另存为变量,因此无法执行xcopy %source% %target%
(即使具有“ %source%
”或source = "Path"
)。 这里有什么问题?
您无需搜索目录,将它们放入变量中,然后遍历变量中的值。 只是遍历目录
...
for /d %%i in ("C:\Users\Desktop\Replica\*") do (
xcopy /y "C:\Users\Desktop\Source\Test.xlsx" "%%~fi\testfolder"
...
for /d
将遍历指示的目录集。 在xcopy
命令中, %%~fi
用于检索当前迭代的目录的完整路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.