[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2018-12-5 00:01 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. rem 移动到 E:\Test
  3. set "dstFolder=E:\Test"
  4. for /f "tokens=1,3delims=:" %%i in ('findstr /i /s /r /c:"^;\*.*: *[^0-9][^0-9]*[0-9][0-9]*[^0-9][^0-9]*" *.txt *.Log') do (
  5.     rem 取第二行
  6.     (for %%m in (a a) do set /p s=)<"%%i"
  7.     if /i "!s!" == "&REL 847" (set FD4=YES) else (set FD4=NO)
  8.     for /f "delims=(" %%m in ("%%j") do (
  9.         for /f "tokens=*" %%m in ("%%m") do set "FD3=%%m"
  10.     )
  11.     for /f "tokens=1* delims=1234567890" %%m in ("!FD3!") do (
  12.         set "FD2=!FD3:%%n=!"
  13.         set "fd=%dstFolder%\%%m\!FD2!\!FD3!\!FD4!"
  14.         if not exist "!fd!\" (
  15.             rem 转换成大写字母
  16.             for %%k in (Q W E R T Y U I O P A S D F G H J K L Z X C V B N M) do set "fd=!fd:%%k=%%k!"
  17.             echo;md "!fd!\"
  18.         )
  19.         echo;move "%%i" "!fd!\"
  20.     )
  21. )
  22. pause
复制代码
大写转换搞复杂了,改一下。
1

评分人数

    • 786021512: 感谢给帖子标题标注[已解决]字样技术 + 1

TOP

  1. @if(0)==(0) echo off
  2. dir /b /s *.txt *.Log | cscript //nologo //e:jscript "%~f0"
  3. pause & goto :EOF
  4. @end
  5. var dstFolder = 'E:\\Test\\';      //移动到 E:\Test 目录
  6. //var dstFolder = WSH.ScriptFullName.replace(/[^\\]+$/, '');
  7. var fso = new ActiveXObject('Scripting.FileSystemObject');
  8. while(!WSH.StdIn.AtEndOfStream){
  9.     var strFile = WSH.StdIn.ReadLine();
  10.     var objFile = fso.OpenTextFile(strFile, 1);
  11.     var str = objFile.ReadAll();
  12.     objFile.Close();
  13.     var m1 = str.match(/^[^\r\n]*\r?\n&REL 847/i);
  14.     var m2 = str.match(/^;\*.*: *(\D+)(\d+)([^(]+)\(/m);
  15.     if(!m2) continue;
  16.     var fd = dstFolder + m2[1] + '\\' + m2[1]+m2[2] + '\\' + m2[1]+m2[2]+m2[3]+ '\\' + (m1 ? 'YES' : 'NO');
  17.     createFolder(fd.toUpperCase());
  18.     var name = strFile.replace(/.*\\/, '');
  19.     if(!fso.FileExists(fd + '\\' + name)) fso.getFile(strFile).Move(fd + '\\');
  20. }
  21. function createFolder(strFolder) {
  22.     var arr = strFolder.split('\\');
  23.     var fd  = arr[0];
  24.     for(var i=1; i<arr.length; i++) {
  25.         fd += '\\' + arr[i];
  26.         if(!fso.FolderExists(fd)) fso.CreateFolder(fd);
  27.     }
  28. }
复制代码
1

评分人数

    • 786021512: 感谢给帖子标题标注[已解决]字样技术 + 1

TOP

返回列表