我正在尝试使用 Windows 批处理命令将文件复制到新文件夹,但有些东西不起作用。我想知道我做错了什么。
这有效:
xcopy E:\folder\*.wav E:\wav\
但是因为我有很多文件夹名和文件夹名,所以我想使用以下命令对每个文件夹执行此操作:
xcopy E:\*\*.wav E:\wav\
但现在它说:
File not found - *.wav
0 File(s) copied
我该怎么做?
我正在尝试使用 Windows 批处理命令将文件复制到新文件夹,但有些东西不起作用。我想知道我做错了什么。
这有效:
xcopy E:\folder\*.wav E:\wav\
但是因为我有很多文件夹名和文件夹名,所以我想使用以下命令对每个文件夹执行此操作:
xcopy E:\*\*.wav E:\wav\
但现在它说:
File not found - *.wav
0 File(s) copied
我该怎么做?
从命令行(无批处理):
for /d %F in (e:\*) do @if /i "%F" neq "e:\wav" 2>nul xcopy "%F\*.wav" "e:\wav"
以上只会从根级文件夹复制文件。如果您想要.wav
整个驱动器中的所有文件,那么您需要:
for /r "e:\" %F in (.) do @if /i "%F" neq "e:\wav\." 2>nul xcopy "%F\*.wav" "e:\wav"
如果将命令放在批处理文件中,则将百分比加倍。
请注意,来自不同文件夹的相同名称的不同文件会发生冲突 - 只有一个会在您的 \wav 文件夹中存在。
我做了一些搜索和尝试,这就是我想出的。
for /D %%d in (E:\*) do (
for %%f in (%%d\*.wav) do (
xcopy %%f E:\wav\
)
)