[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【已解决】【30元红包】指定目录,补全尾数_0

本帖最后由 linfeng_321 于 2022-6-21 15:41 编辑

需求:指定目录,补全尾数_0
--------------------------------------

目录:.\111\222

文件如下:
文件-240-420-A_0.png
文件-420-420-A.png(需要补尾数_0,结果为:文件-420-420-A_0.png)
文件-720-420-A.png(需要补尾数_0,结果为:文件-720-420-A_0.png)
文件-960-420-A_0.png
文件-960-420-A_1.png
文件-960-420-B_0.png
文件-960-420-C.png(需要补尾数_0,结果为:文件-960-420-A_0.png)
更多文件...


注:当文件名中不包含“_”符号时,自动补全“_0”。

本帖最后由 qixiaobin0715 于 2022-6-21 15:42 编辑

免费赠送:
  1. cd "111\222"
  2. for /f "tokens=1* delims=_" %%i in ('dir /b /a-d *.png') do if "%%j"=="" ren "%%i" "%%~ni_0%%~xi"
复制代码

TOP

回复 2# qixiaobin0715


    谢谢大佬

TOP

本帖最后由 zaqmlp 于 2022-6-21 15:34 编辑
  1. <# :
  2. cls&echo off&cd /d "%~dp0"&mode con lines=5000
  3. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
  4. pause
  5. exit
  6. #>
  7. $folder=@(
  8. ".\111\222"
  9. );
  10. for($i=0;$i -lt $folder.length;$i++){
  11.     if(test-path -literal $folder[$i]){
  12.         $files=@(dir -literal $folder[$i]|?{$_ -is [System.IO.FileInfo]});
  13.         for($j=0;$j -lt $files.length;$j++){
  14.             $m=[regex]::match($files[$j].BaseName, '_[^_]+$');
  15.             if(-not $m.Success){
  16.                 $newname=$files[$j].BaseName+'_0'+$files[$j].Extension;
  17.                 $newfile=$files[$j].Directory.FullName+'\'+$newname;
  18.                 write-host ($files[$j].FullName+' --> '+$newname);
  19.                 move-item -literal $files[$j].FullName $newfile -ErrorAction SilentlyContinue;
  20.             }
  21.         }
  22.     }else{write-host ('"'+$folder[$i]+'" Not Found')}
  23. }
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 4# zaqmlp


    感谢大佬,已支付

TOP

返回列表