Batch file 将基于扩展名的文件移动到子文件夹中
我正在寻找一个for循环,它将进入子目录,并将扩展名为mp4和flv的文件移动到一个文件夹callmedia中Batch file 将基于扩展名的文件移动到子文件夹中,batch-file,move,directory,Batch File,Move,Directory,我正在寻找一个for循环,它将进入子目录,并将扩展名为mp4和flv的文件移动到一个文件夹callmedia中 Folder structure is as follows: Folder 1 (Parent) (Where bat file would go) Folder 1 Sub (First Sub-folder) Media (Folder) File_Name.Mp4 File_Name.flv
Folder structure is as follows:
Folder 1 (Parent) (Where bat file would go)
Folder 1 Sub (First Sub-folder)
Media (Folder)
File_Name.Mp4
File_Name.flv
Folder 2 Sub (Second Sub-folder)
Media (Folder)
File_Name.Mp4
File_Name.flv
Folder 3 Sub (Third Sub-folder)
Media (Folder)
File_Name.Mp4
File_Name.flv
And so on..... I have about 1100 sub-folders in Folder 1 (parent folder
谢谢你看这个 如有必要,更改开始文件夹
文件夹1(父文件夹)
,然后尝试:
@echo off &setlocal
for /r "Folder 1 (Parent)" %%i in (*.mp4 *.flv) do (
echo("%%~pi"|findstr /ri ".\\Media\\.$" >nul|| echo move "%%~fi" "%%~dpiMedia\%%~nxi"
)
如有必要,更改开始文件夹
文件夹1(父文件夹)
,然后尝试:
@echo off &setlocal
for /r "Folder 1 (Parent)" %%i in (*.mp4 *.flv) do (
echo("%%~pi"|findstr /ri ".\\Media\\.$" >nul|| echo move "%%~fi" "%%~dpiMedia\%%~nxi"
)
这是为了处理父文件夹中的所有第一级文件夹,并将mp4和flv文件移动到第一级文件夹中名为“介质”的文件夹中 这是未经测试的。在一些示例文件夹上测试它
@echo off
for /f "delims=" %%a in (' dir /ad /b ') do (
pushd "%%a"
md Media 2>nul
for %%z in (mp4 flv) do move *.%%z Media
popd
)
这是为了处理父文件夹中的所有第一级文件夹,并将mp4和flv文件移动到第一级文件夹中名为“介质”的文件夹中 这是未经测试的。在一些示例文件夹上测试它
@echo off
for /f "delims=" %%a in (' dir /ad /b ') do (
pushd "%%a"
md Media 2>nul
for %%z in (mp4 flv) do move *.%%z Media
popd
)
最好用%%~pi来表示&个字符。我意识到%%变量中不需要用到它。这只是习惯使然。:)
%%a
获得某种延迟扩展:)您最好在&个字符的情况下引用%%~pi。我意识到%%变量中不需要它。这只是习惯使然。:)<代码>%%a获取延迟扩展类型:)