楼 主
如何利用批处理或者dos更改文件名中的一部分
发表于 2006-04-10 10:16 · 中国 广东 惠州 电信
新手上路
★
积分 12
发帖 4
注册 2006-04-10 10:13
UID 53604
状态 离线
文件夹中有大量文件,文件名如 工作文档1数学组.txt 工作文档2数学组.txt
现在我想删除工作文档和数学组的字符,让文件成为1.txt;2.txt怎么办
第 2 楼
发表于 2006-04-10 10:55 · 中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
UID 52853
性别 男
来自 广东
状态 离线
@echo off
setlocal EnableDelayedExpansion
for %%t in (*.txt) do (
set a=%%t
ren %%t !a:~4,1!.txt
)
我试过了.可以.
楼主使用前最好试一下.
第 3 楼
发表于 2006-04-11 09:22 · 中国 广东 惠州 电信
新手上路
★
积分 12
发帖 4
注册 2006-04-10 10:13
UID 53604
状态 离线
for %%t in (*.txt) do (
set a=%%t
ren %%t !a:~4,1!.txt
这里面 %%t 表示什么?
后面的 !a:~4,1!表示什么?
第 4 楼
发表于 2006-04-11 09:44 · 中国 广东 广州 白云区 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
UID 52853
性别 男
来自 广东
状态 离线
%%t
指定一个单一字母可替换的参数。
祥细说明 参考 for /?
set a=%%t
把 %%t 付给变量 a
祥细说明 参考 set /?
!a:~4,1!
取变量 a 左边的 4个字符 以外的乘余字符.再取得乘余字符 左边的 第 1个字符.
祥细说明 参考 set /?
第 5 楼
发表于 2006-04-11 19:22 · 中国 广东 惠州 电信
新手上路
★
积分 12
发帖 4
注册 2006-04-10 10:13
UID 53604
状态 离线
我在xp的命令行里面输入不过输入到
for %%t in (*.txt) do (
系统说:“此时不应有%%t”
第 6 楼
发表于 2006-04-11 21:16 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
唉,在命令行中应该为%t而不是%%t,这点好多贴子里面都有提到过。
建议多翻老贴多看 “帮助与支持”。
第 7 楼
发表于 2006-04-12 10:56 · 中国 广东 惠州 电信
新手上路
★
积分 12
发帖 4
注册 2006-04-10 10:13
UID 53604
状态 离线
论坛跳转: