中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 20:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]FOR更改扩展名问题 查看 739 回复 2
楼 主 [求助]FOR更改扩展名问题 发表于 2010-04-08 22:47 ·  中国 浙江 温州 电信
新手上路
积分 8
发帖 6
注册 2008-04-17 13:14
18年会员
UID 116144
性别 男
状态 离线
我先用FOR把.EXE重名名为.EXE.BAK
@echo off
set pth=%cd%
for /r "%pth%" %%a in (*.EXE) do move /y "%%a" "%%a.BAK"

后来我想试试回复过来,可是下面的语句不知道那里不对反复推敲还是不对
@echo off
set pth=%cd%
for /r "%pth%" %%a in (*.BAK) do (
set file=%%a
move /y "%%a" "%file:~0,-4%"
)
那位高手指点一下
2 发表于 2010-04-08 23:07 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off
setlocal enabledelayedexpansion
set pth=%cd%
for /r "%pth%" %%a in (*.BAK) do (
set file=%%a
move /y "%%a" "!file:~0,-4!"
)

你没使用变量延迟
3 发表于 2010-04-08 23:10 ·  中国 浙江 温州 电信
新手上路
积分 8
发帖 6
注册 2008-04-17 13:14
18年会员
UID 116144
性别 男
状态 离线
哦,谢谢
论坛跳转: