我正在运行Windows,我有一大堆.pdf文件(几千个)都存储在一个大目录中,然后所有各种组织到该主目录中的各种子目录中。
例如为:
K:\OriginalDirectory [main directory]
K:\OriginalDirectory\2010 [subdirectory 1]
K:\OriginalDirectory\2011 [subdirectory 2]
K:\OriginalDirectory\2013 [subdirectory 3]
我的问题:我需要将大约1900个这些文件复制并粘贴到一个新目录中。 Windows"找到"功能不会让我这样做,因为尝试使用"或"运算符组合1900个唯一文件名超过了#34;找到。"
的255个字符限制所以我尝试了以下(基于另一个StackOverflow答案),使用命令行:
C:\OriginalDirectory>for %I in (doc1.pdf doc2.pdf doc3.pdf) do copy %I C:\SomeOtherDirectory
这样可行,但不会搜索子目录。此外,它要求我输入所有1900个文件名,这不是理想的。
我是否可以使用命令行完成此任务,该命令行搜索主目录中的所有子目录并且不要求我输入1900个文件名?
答案 0 :(得分:0)
您可以使用可以完成工作的批处理脚本。 发现于:Windows batch copy files from subfolders to one folder
为你调整它应该是这样的:
pushd C:\OriginalDirectory
for /r %%a in (*.pdf) do (
COPY "%%a" "C:\SomeOtherDirectory\%%~nxa"
)
popd
仅复制列表中的那些文件:(再次不确定类型“C:/ my ...”,因为我目前无法测试它,但应该以这种方式工作)
pushd C:\OriginalDirectory
for /r %%a in (type "C:/myFileList.txt") do (
COPY "%%a" "C:\SomeOtherDirectory\%%~nxa"
)
popd