中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何利用批处理或者dos更改文件名中的一部分
作者:
标题: 如何利用批处理或者dos更改文件名中的一部分 上一主题 | 下一主题
hanwee
新手上路





积分 12
发帖 4
注册 2006-4-10
状态 离线
『楼 主』:  如何利用批处理或者dos更改文件名中的一部分

文件夹中有大量文件,文件名如 工作文档1数学组.txt 工作文档2数学组.txt

现在我想删除工作文档和数学组的字符,让文件成为1.txt;2.txt怎么办

2006-4-10 10:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doscc
中级用户




积分 256
发帖 93
注册 2006-3-26
来自 广东
状态 离线
『第 2 楼』:  


@echo off
setlocal EnableDelayedExpansion
for %%t in (*.txt) do (
set a=%%t
ren %%t !a:~4,1!.txt
)

我试过了.可以.
楼主使用前最好试一下.


2006-4-10 10:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hanwee
新手上路





积分 12
发帖 4
注册 2006-4-10
状态 离线
『第 3 楼』:  

for %%t in (*.txt) do (
set a=%%t
ren %%t !a:~4,1!.txt

这里面 %%t  表示什么?
后面的  !a:~4,1!表示什么?

2006-4-11 09:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doscc
中级用户




积分 256
发帖 93
注册 2006-3-26
来自 广东
状态 离线
『第 4 楼』:  

%%t
指定一个单一字母可替换的参数。
祥细说明 参考 for /?

set a=%%t
把 %%t 付给变量 a
祥细说明 参考 set /?

!a:~4,1!
取变量 a 左边的 4个字符 以外的乘余字符.再取得乘余字符 左边的 第 1个字符.
祥细说明 参考 set /?

2006-4-11 09:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hanwee
新手上路





积分 12
发帖 4
注册 2006-4-10
状态 离线
『第 5 楼』:  

我在xp的命令行里面输入不过输入到
for %%t in (*.txt) do (
系统说:“此时不应有%%t”

2006-4-11 19:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 6 楼』:  

唉,在命令行中应该为%t而不是%%t,这点好多贴子里面都有提到过。
建议多翻老贴多看 “帮助与支持”。

2006-4-11 21:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hanwee
新手上路





积分 12
发帖 4
注册 2006-4-10
状态 离线
『第 7 楼』:  

帮助里面说要用%%,我看掉了前面还有批处理三个字

2006-4-12 10:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: