如何把文件名字批量替换成数字从1开始递增的文件名,例如生成1.txt,2.txt。。。。。
在windows 下我用过一种方法,就是先单选头一个文件,然后按ctrl+a全选,再按F2,输入文件名称,如A,则被选定的其它文件自动被命名为A1,A2,A3,A*,您可以一试。@echo off&setlocal enabledelayedexpansion
set n=1000
(for /f "tokens=*" %%a in (a.txt) do (
set /a n+=1
set m=!n:~1!
echo provision -ap
echo ap-group default
echo ap-name office!m!
echo reprovision ap-name %%a
))>b.txt
pause
关于批处理问题,获取txt文本的内容重命名文件名
use Tie::File;
tie @txtlines, 'Tie::File', 'e:/my_txt_file_name' or die;
chdir 'f:';
for my $oldname (`dir /B /S *.doc`) {
chomp $oldname;
my @a = split /\\/,$oldname;
pop @a;
push @a,pop(@txtlines);
rename $oldname, join('\\',@a);
untie @f;
你的需求很常见,但我无法在自己的电脑上做实验,所以代码没有调试过。见谅!如果纯粹把doc文件名替换掉txt文本每行内容,那就相当于重写一个包含doc文件名的文本而已,那就直接这样就行。
dir /a-d/b f:\*.doc>e:\txt.txt