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

TOP

加参数 I 有用不

TOP

本帖最后由 terse 于 2014-5-4 11:53 编辑

没考虑子目录 修正
ps不考虑效率
  1. (Get-ChildItem  * -Recurse -include "*.txt") -Match "\[\d\d\]" | % {$_.MoveTo($_.DirectoryName + ($_.name -Replace '.*\[(\d{2})\].*','\$1.txt'))}
复制代码
加个参数 literalpath
  1. (Get-ChildItem  * -Recurse -include "*.txt") -Match "\[\d\d\]" | foreach { move-item -LiteralPath  $_ ($_.DirectoryName + ($_.Name -Replace '.*\[(\d\d)\].*','\$1.txt'))}
复制代码

TOP

回复 1# ZeronoFreya
这样试下呢?
无64位环境测试  请自行备份数据
  1. @if(0)==(0) echo off
  2. set "Sysdir=SysWOW64"
  3. if /i "%PROCESSOR_ARCHITECTURE%" == "x86" if not defined PROCESSOR_ARCHITEW6432 set "Sysdir=System32"
  4. set cscript="%Windir%\%Sysdir%\cscript.exe" //nologo //e:javascript
  5. if "%~1" == "" (set "ph=%~dp0") else set "ph=%~1\"
  6. for /f "delims=" %%i in ('dir/b/s "%ph%*[*]*.txt"^|%cscript% "%~f0"')do (
  7.     echo,Ren %%i 2>nul
  8. )
  9. pause
  10. goto :eof
  11. @end
  12. while (!WScript.StdIn.AtEndOfStream) {
  13.     var f = WScript.StdIn.ReadLine()
  14.     var arr = f.match(/(\[(\d{2})\])/)
  15.     if (arr) WScript.echo('"' + f + '"','"' + arr[2] + '.txt"');
  16. }
复制代码

TOP

回复 20# ZeronoFreya
上面显示表明代码可正常运行
如要统配后缀可以改下这样试
虽然楼主放弃了 还是贴出吧
  1. @if(0)==(0) echo off
  2. set "Sysdir=SysWOW64"
  3. if /i "%PROCESSOR_ARCHITECTURE%" == "x86" if not defined PROCESSOR_ARCHITEW6432 set "Sysdir=System32"
  4. set cscript="%Windir%\%Sysdir%\cscript.exe" //nologo //e:javascript
  5. if "%~1" == "" (set "ph=%~dp0") else set "ph=%~1\"
  6. for /f "delims=" %%i in ('dir/b/s "%ph%*[*]*.*"^|%cscript% "%~f0"')do Ren %%i 2>nul
  7. pause
  8. goto :eof
  9. @end
  10. while (!WScript.StdIn.AtEndOfStream) {
  11.     var f = WScript.StdIn.ReadLine()
  12.     var e =/\.[^\.]+$/.exec(f);
  13.     var arr = f.match(/(\[(\d{2})\])/)
  14.     if (arr) WScript.echo('"' + f + '"','"' + arr[2] + e + '"');
  15. }
复制代码

TOP

返回列表