标题: 如何利用批处理或者dos更改文件名中的一部分
[打印本页]
作者: hanwee
时间: 2006-4-10 10:16
标题: 如何利用批处理或者dos更改文件名中的一部分
文件夹中有大量文件,文件名如 工作文档1数学组.txt 工作文档2数学组.txt
现在我想删除工作文档和数学组的字符,让文件成为1.txt;2.txt怎么办
作者: doscc
时间: 2006-4-10 10:55
@echo off
setlocal EnableDelayedExpansion
for %%t in (*.txt) do (
set a=%%t
ren %%t !a:~4,1!.txt
)
我试过了.可以.
楼主使用前最好试一下.
作者: hanwee
时间: 2006-4-11 09:22
for %%t in (*.txt) do (
set a=%%t
ren %%t !a:~4,1!.txt
这里面 %%t 表示什么?
后面的 !a:~4,1!表示什么?
作者: doscc
时间: 2006-4-11 09:44
%%t
指定一个单一字母可替换的参数。
祥细说明 参考 for /?
set a=%%t
把 %%t 付给变量 a
祥细说明 参考 set /?
!a:~4,1!
取变量 a 左边的 4个字符 以外的乘余字符.再取得乘余字符 左边的 第 1个字符.
祥细说明 参考 set /?
作者: hanwee
时间: 2006-4-11 19:22
我在xp的命令行里面输入不过输入到
for %%t in (*.txt) do (
系统说:“此时不应有%%t”
作者: 3742668
时间: 2006-4-11 21:16
唉,在命令行中应该为%t而不是%%t,这点好多贴子里面都有提到过。
建议多翻老贴多看 “帮助与支持”。
作者: hanwee
时间: 2006-4-12 10:56
帮助里面说要用%%,我看掉了前面还有批处理三个字