标题: 将每个文件夹下的文件移到目录下并按名字+数字命名
[打印本页]
作者: cardinal
时间: 2008-5-23 21:36
标题: 将每个文件夹下的文件移到目录下并按名字+数字命名
因为急用,for我又不太熟练,只能到这里你求个批了,见谅!
不说爱你\
be-0522-bsan11-15_28533\不说爱你[11]_87125\20080515175525_不说爱你[11]HIGH.low.ts 加粗的下一层还有几个类似的文件夹。并且每个下都有.ts的文件。要实现的效果就是把每个ts文件转移到根目录下,并以不说爱你1.ts 不说爱你2.ts命名
还请高人指点
作者: 26933062
时间: 2008-5-23 21:50
你的意思是把 不说爱你 这个文件夹(含子文件夹)里的所有.ts文件都移动到根目录下来吗?
作者: bat-zw
时间: 2008-5-23 21:51
如不说爱你文件夹不是在根目录下,请将%cd%不说爱你\改成完全路径了
@echo off&setlocal enabledelayedexpansion
cd\
for /f "delims=" %%i in ('dir /s /b %cd%不说爱你\*.ts') do (
set /a n+=1
move /y "%%i" %cd%
ren "%%~nxi" 不说爱你!n!.ts
)
echo 搞定!
pause>nul
[
Last edited by zw19750516 on 2008-5-23 at 10:02 PM ]
作者: 26933062
时间: 2008-5-23 21:57
呵呵、楼上是把当前分区下的所有ts文件都移出来了啊。。
作者: bat-zw
时间: 2008-5-23 22:03
Quote: |
Originally posted by 26933062 at 2008-5-23 21:57:
呵呵、楼上是把当前分区下的所有ts文件都移出来了啊。。 |
|
现在不是了吧
[
Last edited by zw19750516 on 2008-5-23 at 10:04 PM ]
作者: moniuming
时间: 2008-5-23 22:04
错了,改过来了
@echo off
set "a=不说爱你"
::放在要运行的目录中,如果根目录为其它盘,请作适当更改
for /f "delims=" %%i in ('dir /s/b/a-d "*.ts"') do call :aa %%i
pause&goto :eof
:aa
pushd f:\
set /a n+=1
if exist %a%%n%.ts goto :aa
move /y %1 %a%%n%.ts
popd
[
Last edited by moniuming on 2008-5-23 at 10:12 PM ]