欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

linux让数值依次递增的快捷键,如何将文件名批量修改成上一级文件夹的名字。如:A(文件夹名)-01这样依次递增?...

发布时间:2025/3/21 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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这样依次递增?...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。