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


    dir /s/b/a-d *.txt
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

提取文件夹路径,pushd到文件夹下再执行你这个脚本,或者修改下js部分,将路径部分处理考虑进去
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

  1. 1>1/* : www.bathome.net
  2. @echo off
  3. pushd %~dp0
  4. call :_Replace
  5. for /f "delims=" %%i in ('dir /s/b/ad') do (
  6. pushd %%~si
  7. call :_Replace
  8. popd
  9. )
  10. pause & exit /b
  11. :_Replace
  12. (
  13. for /f "delims=" %%a in ('dir /a-d /b *.txt^|cscript -nologo -e:jscript "%~s0"') do (
  14. echo,ren %%a
  15. ren %%a
  16. )
  17. goto :EOF
  18. )
  19. */
  20. var files = WSH.StdIn.ReadAll().split(/\r?\n/);
  21. for(var i in files){
  22. var nGoOn = /[零一二三四五六七八九十][O零一二三四五六七八九十百千]*/.test(files[i]);
  23. if (!nGoOn) continue
  24. var newName = files[i].replace(
  25. /[零一二三四五六七八九十][O零一二三四五六七八九十百千]*/gm,
  26. function(match){
  27. var str = match
  28. str = str.replace(/[一二三四五六七八九]/g,function(match){return '+'+'空一二三四五六七八九'.search(match)})
  29. str = str.replace(/([1-9])([十百千])/g,function(match,_1,_2){return _1 + ({'十':'*10','百':'*100','千':'*1000'}[_2])})
  30. str = str.replace(/^十/,'+10')
  31. str = str.replace(/(\*10+)0[零O](?!\+\d\1)/g,'$10')
  32. return (/[^0-9\+\*]/.test(str)) ? match : eval(0+str)
  33. }
  34. )
  35. WSH.Echo('"'+files[i]+'" "'+newName+'"')
  36. }
复制代码
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

回复 6# chao111111


    还好你把代码出处顶上来了,对比了下js部分代码是不对的,参考原作稍加改动过滤了下不符合条件的文件名。
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

把需要的文件名列表组装出来,按照7z的创建压缩包的命令来写就行了。
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

返回列表