你好!
(唉,syh159281,你写批处理怎么居然会被小小的空格困住?)
1.这是个简单的.
批处理里面,'c d e f"是你所有盘的盘符,".mp3 *.wma"是音乐文件的类型,"e:\mp3"是移动到的路径.
都是你可以改的,但注意一定要用小写.
@echo off
set folder=e:\mp3
set type=.mp3 .wma
set disk=c d e f
md "%folder%"
for %%i in (%disk%) do (
for %%j in (%type%) do (
for /f "delims=" %%k in ('dir /a /s /b %%i:\*%%j') do (
move /y "%%k" "%folder%"
)
)
)
2.这个比较复杂.
上面说过的不再说了.
"%folder% \windows \示例音乐"是要排除的路径,排除了系统自带的音乐和刚移动过去的音乐,可以改但要用小写.
这个批处理的特点是可以排除一些路径,把音乐文件移动过去时相同文件夹里的音乐仍在同一文件夹内,而且不会出现文件重名导致覆盖的情况.
@echo off
setlocal enabledelayedexpansion
set folder=e:\mp3
set exception=%folder% \windows \示例音乐
set type=.mp3 .wma
set disk=c d e f
md "%folder%"
for %%i in (%disk%) do (
for %%j in (%type%) do (
for /f "delims=" %%k in ('dir /a /s /b /l %%i:\*%%j') do (
set file="%%k"
set check=!file!
for %%l in (%exception%) do (
set check=!check:*%%l\=:!
)
if not "!check:~0,1!"==":" (
md !file:%%i:\=%folder%\%%i\!
rd !file:%%i:\=%folder%\%%i\!
copy /y !file! !file:%%i:\=%folder%\%%i\!
del !file! /f /a
rd !file!\..
)
)
)
)
exit
选一个你喜欢的.
谢谢!
温馨提示:答案为网友推荐,仅供参考