Board logo

标题: 批量bat互换txt批处理 [打印本页]

作者: aiqian2008     时间: 2008-10-27 01:35    标题: 批量bat互换txt批处理

刚学dos要在bat和txt之间换来换去,一个一个字母改觉得麻烦,就写了个能简单互换的批处理.



@echo off&color a&title 批量bat互换txt工具
rem 要实现对系统、隐藏属性的文件和重名的文件进行操做(文件还保留原来的文件属性),请把::符号掉。
:start
cls
echo.
echo    使用方法:把要转换的一个或多个文件拖至本批处理,而不是本批处理窗口。
echo.
echo          如果没有文件,按b或t退出本批处理。
echo.
echo                输入b转换为.bat     输入t转换为.txt
set "a="
echo.
set /p "a=   请输入b或t:"
if "%a%"=="b" goto bat
if "%a%"=="t" goto txt
if not "%a%"=="b" goto start

:bat
:start1
if "%~1"=="" goto end
if /i "%~x1"==".txt" ren %1 "%~n1.bat"
::if errorlevel 1 goto attrib1
shift
goto start1

:txt
:start2
if "%~1"=="" goto end
if /i "%~x1"==".bat" ren %1 "%~n1.txt"
::if errorlevel 1 goto attrib2
shift
goto start2
:end
exit

:attrib1
set var=%~a1
set "attrib_="
if not "%var:~1,1%"=="-" set attrib_=+%var:~1,1%
if not "%var:~3,1%"=="-" set attrib_=%attrib_% +%var:~3,1%
if not "%var:~4,1%"=="-" set attrib_=%attrib_% +%var:~4,1%
attrib -s -h -r %1
if exist "%~dpn1.bat" ren %1 "%~n1重.bat"&&attrib %attrib_% "%~dpn1重.bat"&&shift&&goto bat
if /i "%~x1"==".txt" ren %1 "%~n1.bat"
attrib %attrib_% "%~dpn1.bat"&shift&goto bat
:bat1


:attrib2
set var=%~a1
set "attrib_="
if not "%var:~1,1%"=="-" set attrib_=+%var:~1,1%
if not "%var:~3,1%"=="-" set attrib_=%attrib_% +%var:~3,1%
if not "%var:~4,1%"=="-" set attrib_=%attrib_% +%var:~4,1%
attrib -s -h -r %1
if exist "%~dpn1.txt" ren %1 "%~n1重.txt"&&attrib %attrib_% "%~dpn1重.txt"&&shift&&goto txt
if /i "%~x1"==".bat" ren %1 "%~n1.txt"
attrib %attrib_% "%~dpn1.txt"&shift&goto txt