Board logo

标题: 支付宝或微信10元;批处理随机调整文件顺序,并按顺序命名为1、2、3……, [打印本页]

作者: qiuxiaohu    时间: 2019-5-16 20:28     标题: 支付宝或微信10元;批处理随机调整文件顺序,并按顺序命名为1、2、3……,

本帖最后由 qiuxiaohu 于 2019-5-16 20:29 编辑

文件为png格式,原文件名为不规则命名,现在希望能随机排列文件顺序,并改文件名为1、2、3、
联系qq:316635827  微信:316635827
作者: zaqmlp    时间: 2019-5-16 20:45

  1. @echo off
  2. cd /d "%~dp0"
  3. powershell -NoProfile -ExecutionPolicy bypass ^
  4.     [System.Collections.ArrayList]$list=@();^
  5.     $files=@(dir^|?{($_ -is [System.IO.FileInfo]) -and ($_.Extension -eq '.png')});^
  6.     for($i=0;$i -lt $files.length;$i++){^
  7.         mv -liter $files[$i].Name ('_#@'+$i.toString()+$files[$i].Name);^
  8.         [void]$list.Add(($files[$i].Name+'^|_#@'+$i.toString()+$files[$i].Name+'^|'+$files[$i].Extension));^
  9.     };^
  10.     $files=@(get-random -input $list -count $list.Count);^
  11.     for($i=0;$i -lt $files.length;$i++){^
  12.         $line=$files[$i].split('^|');^
  13.         write-host ($line[0]+' --^> '+($i+1).toString()+$line[2]);^
  14.         mv -liter $line[1] (($i+1).toString()+$line[2]);^
  15.     };
  16. pause
复制代码

作者: Batcher    时间: 2019-5-16 21:13

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. for /f "delims=" %%i in ('dir /b /a-d *.png') do (
  5.     set /a n+=1
  6.     ren "%%i" "!n!.png"
  7. )
复制代码

作者: qiuxiaohu    时间: 2019-5-17 09:17

回复 2# zaqmlp


    你的批处理,老是提醒风险,功能倒是满足了我的需求。麻烦你添加我的微信,我好给你发红包。最好你能再进一步处理一下,不要老是提示风险。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
作者: amwfjhh    时间: 2019-5-18 15:27

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. for /f "delims=" %%i in ('dir /b /a-d *.png') do (
  5.     set /a n+=1
  6.     set "strN=00000!n!"
  7.     ren "%%i" "!strN:~-5!.png"
  8. )
复制代码
借用下管理员的代码




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