[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
真诚感谢三位大侠!我一个外行,蒙您们热心帮助,再次谢谢!

TOP

  嘿嘿,for用习惯了,容易造成思维定势,连dir列文件路径的时候都忍不住要for一把,还是terse直接dir更有效率。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

避免 findstr 进入循环的方案:
  1. @echo off
  2. for /f "delims=" %%a in (1.txt) do (
  3. for /f "tokens=2 delims==-" %%b in ("%%a") do (
  4. echo %%b %%a>>2.txt
  5. echo %%b>>3.txt
  6. )
  7. )
  8. dir /s /b e:\*.pdf>4.txt
  9. for /f "delims=" %%a in ('findstr /eg:2.txt 4.txt') do (
  10. set str=%%~na
  11. setlocal enabledelayedexpansion
  12. for /f "tokens=1*" %%b in (3.txt) do (
  13. if "!file:%%b=!" neq "!file!" move "d:\pdf\%%c.pdf" "%%~dpa"
  14. )
  15. )
  16. pause
复制代码

TOP

返回列表