一文件夹中有这样一批文件:
names.doc和names_source.doc
现在要把后者改名为前者并覆盖之(如:a_source.doc改名为a.doc覆盖原来的a.doc
b_source.doc改名为b.doc覆盖原来的b.doc等等
)
names.doc和names_source.doc
现在要把后者改名为前者并覆盖之(如:a_source.doc改名为a.doc覆盖原来的a.doc
b_source.doc改名为b.doc覆盖原来的b.doc等等
)
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
if %1#==# goto _quit
echo %1 | find /i "_source.doc" > nul
if errorlevel 1 goto _quit
set oldname=%1
set newname=%oldname:~0,-11%.doc
if exist %newname% goto _ren
goto _quit
:_ren
del %newname%
ren %oldname% %newname%
if exist %newname% echo 成功将%oldname% 改名为 %newname%!
:_quit
set oldname=
set newname=
第二个批处理文件叫Go.cmd(它会调用第一个批处理文件):
@echo off
for /f %%i in ('dir /a-d /b *_source.doc'
do @call doit.cmd %%i
如果要在纯DOS或者98的DOS窗口下执行这个操作,估计如果不用第三方工具那么将会很困难。如果可以使用第三方工具,那么strings程序将是一个不错的选择。