Board logo

标题: 【已解决】【30元红包】指定目录,补全尾数_0 [打印本页]

作者: linfeng_321    时间: 2022-6-21 15:16     标题: 【已解决】【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:22

本帖最后由 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"
复制代码

作者: linfeng_321    时间: 2022-6-21 15:26

回复 2# qixiaobin0715


    谢谢大佬
作者: zaqmlp    时间: 2022-6-21 15:33

本帖最后由 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. }
复制代码

作者: linfeng_321    时间: 2022-6-21 15:41

回复 4# zaqmlp


    感谢大佬,已支付




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2