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

[文本处理] [已解决]求助批处理代码改进精简?

本帖最后由 pcl_test 于 2016-9-3 15:42 编辑
  1. cls
  2. @echo off
  3. SETLOCAL ENABLEDELAYEDEXPANSION
  4. set str=prt
  5. if exist *.%str%.* (
  6. for /f "delims=" %%i in ('dir /a-d /b /s *.%str%.*') do echo %%~xi "%%i" >> tmp1.txt
  7. sort /r<tmp1.txt>%str%.txt
  8. del tmp1.txt)else echo no %str%
  9. SETLOCAL ENABLEDELAYEDEXPANSION
  10. set str=igs
  11. if exist *.%str%.* (
  12. for /f "delims=" %%i in ('dir /a-d /b /s *.%str%.*') do echo %%~xi "%%i" >> tmp1.txt
  13. sort /r<tmp1.txt>%str%.txt
  14. del tmp1.txt)else echo no %str%
  15. SETLOCAL ENABLEDELAYEDEXPANSION
  16. set str=exe
  17. if exist *.%str%.* (
  18. for /f "delims=" %%i in ('dir /a-d /b /s *.%str%.*') do echo %%~xi "%%i" >> tmp1.txt
  19. sort /r<tmp1.txt>%str%.txt
  20. del tmp1.txt)else echo no %str%
  21. SETLOCAL ENABLEDELAYEDEXPANSION
  22. set str=rpt
  23. if exist *.%str%.* (
  24. for /f "delims=" %%i in ('dir /a-d /b /s *.%str%.*') do echo %%~xi "%%i" >> tmp1.txt
  25. sort /r<tmp1.txt>%str%.txt
  26. del tmp1.txt)else echo no %str%
  27. SETLOCAL ENABLEDELAYEDEXPANSION
  28. set str=sld
  29. if exist *.%str%.* (
  30. for /f "delims=" %%i in ('dir /a-d /b /s *.%str%.*') do echo %%~xi "%%i" >> tmp1.txt
  31. sort /r<tmp1.txt>%str%.txt
  32. del tmp1.txt)else echo no %str%
  33. :complete
  34. echo.
  35. pause
  36. exit
  37. pause
  38. 請問上面這些 str 要如何合併寫在一起,
  39. 才可以讓p看起來簡單一點。
  40. 謝謝
复制代码
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

请介绍一下代码的功能,高手都很忙的,看代码猜你的意图是很浪费时间的。

TOP

  1. @echo off
  2. for %%a in (prt igs exe rpt sld) do (
  3.   if exist "*.%%a.*" (
  4.     (for /f "delims=" %%i in ('dir /a-d /b /s "*.%%a.*"') do (
  5.       echo %%~xi "%%i"
  6.     ))>tmp1.txt
  7.     sort /r tmp1.txt>%%a.txt
  8.     del tmp1.txt
  9.   ) else echo no %%a
  10. )
  11. pause
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

本帖最后由 norno 于 2012-4-11 20:39 编辑

回复 3# apang
謝謝你的教導,
另謝謝2樓的告知。
這個p是要用來判別我的資料夾有沒有我要刪除的file.

可否再求教,
我要建立一個list.txt
這個 txt 裡有我想刪除檔案的副檔名,
然後寫一個p,
它會优先判斷是否有副檔名為 prt.* 的存在(這是pro/e所產生的副檔名  例:123.prt.1   456.prt.25)
如果有它會根據 list.txt 裡的副檔名,來刪除指定資料夾裡的檔案。
如果沒有副檔名為 prt.* 的存在
它會提示是否要繼續刪除的動作。
請幫忙,謝謝。

TOP

返回列表