由于工作需要 有时会重复做一种事情
1、某文件夹下有*.xxx后缀的一堆文件,我需要先建立一堆以“*”为名(不要后缀.xxx)的文件夹
2、建立后按名字的对应,把*.xxx剪切至相应文件夹
3、全部剪切后再把各个文件夹下的*.xxx统一改为某名字,如01.xxx
4、重复运行此批处理时,对于已成功走过这个流程的文件无效,如在碰到名为“01.xxx”的文件时跳过
暂时先说这么多吧。。。一直在看论坛精华帖,也收集了不少BAT,无奈自己还是不很懂,学着写了一些,因为技术不过关,根本达不到效果
像很多代码都不知道意义,很苦恼
期待达人答复,如果因为我没找到相关资料而发帖浪费了大家的时间,在此说声抱歉
color 17
mode con: cols=50 lines=12
title $$$$*RMVB文件批量处理*$$$$
@echo off
:start
cls
@echo *************************************************
@echo * *
@echo * 批处理RMVB文件 *
@echo * 1、操作文件 *
@echo * 2、还原操作 *
@echo * 3、退出 *
@echo *************************************************
SET /P ST=请输入序号以选择操作:
echo.
if /I "%ST%"=="1" goto doit
if /I "%ST%"=="2" goto redoit
if /I "%ST%"=="3" goto eof
if {%choice%}=={} goto start
:doit
if exist doit.txt goto doit2
dir *.rmvb /oe/b >list.txt
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (list.txt) do (
set var=%%i
set "var=!var:.rmvb=!"
echo !var!>>doit.txt
)
del list.txt /f/q/s/a
:doit2
for /f "tokens=*" %%i in (doit.txt) do mkdir "%%i"
for /f "tokens=*" %%i in (doit.txt) do move "%%i".rmvb "%%i"
for /f "tokens=*" %%i in (doit.txt) do ren "%%i"\"%%i".rmvb 01.rmvb
ren doit.txt redoit.txt
@echo 处理完毕。。。。
pause.
goto start
:redoit
@echo off
for /f "tokens=*" %%i in (redoit.txt) do ren "%%i"\01.rmvb "%%i".rmvb
for /f "tokens=*" %%i in (redoit.txt) do move "%%i"\"%%i".rmvb ".\"
for /f "tokens=*" %%i in (redoit.txt) do rd "%%i" /s/q
ren redoit.txt doit.txt
@echo 操作还原完毕。。。。
pause.
goto start
我是这样写的,很菜,希望高手说说。。。
Last edited by flybird2020 on 2007-8-13 at 01:43 PM ]