我想移动文件夹c:\ test(所有都是.wav文件),包含字符串' ooc'发生在文件名中的任何位置我写了一个批处理文件:
@echo off
cd C:\test
FOR /R %completepath% %%G IN (*ooc*.wav) DO
(
move /-y "C:\test\*.wav" "C:\ooc\"
)
但是,这不起作用。请提出任何建议。
答案 0 :(得分:1)
通过迭代所有文件一次移动一个文件:
for /r %completepath% %%F in (*ooc*.wav) do move /-y "%%F" "c:\ooc\"
通过迭代文件夹一次移动整个文件夹:
for /r %completepath% %%F in (.) do if exist *ooc*.wav move /-y "%%~fF\*ooc*.wav" "c:\ooc\"
您可以删除IF并将stderr重定向到NUL以隐藏任何“找不到指定的文件”错误消息,但随后会隐藏所有潜在的错误消息。
for /r %completepath% %%F in (.) do move /-y "%%~fF\*ooc*.wav" "c:\ooc\" 2>nul
答案 1 :(得分:0)
我猜你想要的是这个:
@echo off
cd C:\test
FOR /R %completepath% %%G IN (*ooc*.wav) DO (
move /-y "%%G" "C:\ooc\"
)