_GG200011.txt
_GG200021.txt
_GG200031.txt
.
.
.
_GG200091.txt
_GG2000101.txt
_GG2000111.txt
_GG2000121.txt
_GG200111.txt
.
.
.
_GG200511.txt
_GG200521.txt(都是以日期命名)
...
本想批量处理把文件名前的‘_’去掉,DOS下执行ren _GG200*.txt GG200*.txt 文件名全部变成GG2000xxx.txt
文件名全多了个0,现在文件名要去掉一个‘0’代码要什么写,请教大虾!
8 个解决方案
#1
用ACDSee看看。
#2
把下面的代码保存为BAT文件,放到你说的那个GG文件夹下面执行。
[code=BatchFile]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /a-d /b GG*.txt') do (
set na=%%a
set nb=!na:~4,12!
set na=!na:~0,3!
ren %%a !na!!nb!
)
setlocal disabledelayedexpansion
[/code]
[code=BatchFile]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /a-d /b GG*.txt') do (
set na=%%a
set nb=!na:~4,12!
set na=!na:~0,3!
ren %%a !na!!nb!
)
setlocal disabledelayedexpansion
[/code]
#3
佛爱我羊
能不能讲下代码的意思,好象执行后也没变化。
能不能讲下代码的意思,好象执行后也没变化。
#4
具体什么操作?谢谢!
#5
不会吧,执行后没变化?除非你提供的数据是虚假的,呵呵。
这个代码会依次读取dir当前目录下所有GG开头的TXT文件名,然后截取每个文件名的前三个字符和第四个字符以后的字符,然后合并,再用合并后的名字替换以前的名字。
比如:
GG20000101.txt 会被截取成 GG2 + 000101.txt
ren GG20000101.txt GG2000101.txt
这样不就每个文件名会去掉一个0么
#6
另外你要把这个批处理文件放到你所说的那个GG文件夹下面运行,放别的地方不行。
#7
刚刚在CN-DOS看到楼主的问题被另一种方法解决了
思路是用set命令进行变量替换
跟2楼的方法异曲同工^_^
思路是用set命令进行变量替换
跟2楼的方法异曲同工^_^
#8
哈哈!问题解决了,谢谢!
#1
用ACDSee看看。
#2
把下面的代码保存为BAT文件,放到你说的那个GG文件夹下面执行。
[code=BatchFile]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /a-d /b GG*.txt') do (
set na=%%a
set nb=!na:~4,12!
set na=!na:~0,3!
ren %%a !na!!nb!
)
setlocal disabledelayedexpansion
[/code]
[code=BatchFile]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /a-d /b GG*.txt') do (
set na=%%a
set nb=!na:~4,12!
set na=!na:~0,3!
ren %%a !na!!nb!
)
setlocal disabledelayedexpansion
[/code]
#3
佛爱我羊
能不能讲下代码的意思,好象执行后也没变化。
能不能讲下代码的意思,好象执行后也没变化。
#4
具体什么操作?谢谢!
#5
不会吧,执行后没变化?除非你提供的数据是虚假的,呵呵。
这个代码会依次读取dir当前目录下所有GG开头的TXT文件名,然后截取每个文件名的前三个字符和第四个字符以后的字符,然后合并,再用合并后的名字替换以前的名字。
比如:
GG20000101.txt 会被截取成 GG2 + 000101.txt
ren GG20000101.txt GG2000101.txt
这样不就每个文件名会去掉一个0么
#6
另外你要把这个批处理文件放到你所说的那个GG文件夹下面运行,放别的地方不行。
#7
刚刚在CN-DOS看到楼主的问题被另一种方法解决了
思路是用set命令进行变量替换
跟2楼的方法异曲同工^_^
思路是用set命令进行变量替换
跟2楼的方法异曲同工^_^
#8
哈哈!问题解决了,谢谢!