中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 00:36
楼 主 批量bat互换txt批处理 发表于 2008-10-27 01:35 ·  中国 福建 福州 电信
初级用户
积分 35
发帖 22
注册 2008-10-11 01:13
UID 128044
性别 男
状态 离线
刚学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
论坛跳转: