linux让数值依次递增的快捷键,如何将文件名批量修改成上一级文件夹的名字。如:A(文件夹名)-01这样依次递增?...
不清楚你的實際文件/情況,僅以問題中的樣例/說明為據
復制粘貼到記事本,另存為xx.bat,編碼選ANSI,跟要處理的文件放一起運行
cls
@echo?off
rem?將多個文件夾里的文件以所在文件夾(上級文件夾)名稱和遞增數字序號重命名
set?#=Any?question&set?@=WX&set?$=Q&set/az=0x53b7e0b4
title?%#%?+%$%%$%/%@%?%z%
cd?/d?"%~dp0"
powershell?-NoProfile?-ExecutionPolicy?bypass?"Invoke-Command?-ScriptBlock?([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))?-Args?'%~dp0'"
echo;%#%?+%$%%$%/%@%?%z%
pause
exit
#>
$path=$args[0].trimend('\');
$dic=New-Object?'System.Collections.Generic.Dictionary[string,Object]';
$files=@(dir?-liter?$path?-recurse|?{('.bat'?-ne?$_.Extension)?-and?($_?-is?[System.IO.FileInfo])});
for($i=0;$i?-lt?$files.length;$i++){
if(-not?$files[$i].Directory.Name.Contains(':')){
if(-not?$dic.ContainsKey($files[$i].Directory.FullName)){
[System.Collections.ArrayList]$arr=@();
$dic.add($files[$i].Directory.FullName,?$arr);
};
[void]$dic[$files[$i].Directory.FullName].add($files[$i]);
mv?-liter?$files[$i].FullName?($files[$i].Directory.FullName+'\#'+$files[$i].Name);
};
};
foreach($k?in?$dic.keys){
$foldername=$k.split('\')[-1];
for($i=0;$i?-lt?$dic[$k].count;$i++){
$newname=$foldername+'-'+($i+1).toString().PadLeft(2,?'0')+$dic[$k][$i].Extension;
write-host?($dic[$k][$i].FullName+'?-->?'+$newname);
mv?-liter?($dic[$k][$i].Directory.FullName+'\#'+$dic[$k][$i].Name)?($dic[$k][$i].Directory.FullName+'\'+$newname);
};
}
總結
以上是生活随笔為你收集整理的linux让数值依次递增的快捷键,如何将文件名批量修改成上一级文件夹的名字。如:A(文件夹名)-01这样依次递增?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下的geany源码安装,lin
- 下一篇: linux中awd的详细使用方法,求教a