我有一个文本文件,包含由换行符分隔的文件名,还有一个包含许多子文件夹的文件夹,其中包含与文本文件中的名称相匹配的文件。
我希望从文本文件中选择文件名,这可以使用for
循环完成;并递归地搜索文件夹中的文件名,如果找到文件,将其复制到不同的位置。
有人能帮我亮一下灯吗?
谢谢,
发布于 2013-09-03 18:54:16
@echo off
for /f "usebackq delims=" %%a in ("file names.txt") do (
for /f "delims=" %%b in (' dir "c:\folder\%%a" /b /s /a-d ') do (
copy "%%b" "c:\new folder"
)
)
发布于 2013-09-03 17:55:52
非常简单(尽管您必须更具体一点,以便您可以调整代码以适应您的情况)。
基本守则:
@echo off
for /f "usebackq tokens=*" %%a in ("file names.txt") do (
forfiles /p "C:\users\...[path to main file]" /s /m "%%a" /c "cmd /c copy @path "C:\users\...[target path]""
不确定上面的双引号是否会起作用,如果会的话,我们可以用call
和enableextensions
替换。
如果不起作用,请告诉我(因为它只适用于Win7)。因为有很多其他的方法可以做到。
Mona
https://stackoverflow.com/questions/18603516
复制相似问题