将特定文件类型从 CD 复制到 USB 记忆棒上的新文件夹 Windows

将特定文件类型从 CD 复制到 USB 记忆棒上的新文件夹 Windows

尝试制作一个批处理文件,该文件将从 CD 复制特定文件类型并将其放入新文件夹中,并提示选择目标文件夹名称。我很难向许多老用户解释如何查找文件以及如何将文件传输到 USB 记忆棒,所以我希望得到一个双击即可解决的答案。

我尝试了几种不同的 xcopy,但据我所知它没有任何输出。

D 盘是 CD 驱动器,E 盘是 USB 驱动器。我在 CD 中搜索的文件隐藏在几个深文件夹中。

如果有更好的方法可以做到这一点,则不附加批处理文件。谢谢。

@echo off
set /p x= 
xcopy "D:\" "E:\%x%\" .*pes /s

为了简化,尝试从 E 盘运行它,

xcopy E:\ *.pes /s

它确实复制了,但它复制了整个目录...并将所有文件转换为 .pes,而不是现在仅复制 .pes。

答案1

它应该像这样工作:

@echo off
set /p x= 
xcopy "D:\*.pes" "E:\%x%\" /s

但是源的文件夹结构也将在目标中创建。

要复制一个文件夹中的所有文件,可以使用以下命令:

@echo off
set /p x= 
for /r "D:\" %%i in (*.pes) do xcopy "%%~fi" "E:\%x%\"

编辑以澄清/研究:

FOR /R = 递归 FOR 循环(https://ss64.com/nt/for_r.html

%%i = 每个文件的变量

(*.pes) = 文件夹/子文件夹中以 .pes 结尾的每个文件

这似乎没有必要:“%%~fi”

%%~fi = “将 %%i 扩展为完全限定路径名”(参见 CMD 中的 FOR /?)

它似乎也可以像这样工作:

for /r "D:\" %%i in (*.pes) do xcopy "%%i" "E:\%x%\"

相关内容