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

[文本处理] [已解决]怎样检查文本里面所以说的路径是否有文件存在?

哥们, 怎样检查文本里面所以说的路径是否有文件存在?
如:1.txt里面有些路径:
d:\qq\1011\005\11235.html
e:\adv\1010\1015\1025.html
e:\adv\1010\1005\1125.html
e:\adv\1012\
D:\t\0111\?-19485.html

带?或者路径不正确的行 不要,
然后检查具有完整路径的路径里面是否存在1.txt里面该条路径的对应的文件名
如果存在则输出  路径名 存在

如果不存在则输出 路径名 不存在


这批处理应该怎么写?

[ 本帖最后由 ik22 于 2011-1-18 12:13 编辑 ]
1

评分人数

    • tmplinshi: 感谢给帖子标题标注[已解决]字样PB + 2
谦虚是持续成功的保证..
www.13168.org

  1. @echo off
  2. for /f "delims=?" %%i in ('findstr /c:".html" 1.txt') do (
  3. echo %%i >>3.tmp
  4. for /f "delims=" %%j in ('findstr /c:".html" 3.tmp') do (echo %%j >>4.tmp))
  5. for /f "delims=" %%i in (4.tmp) do (if not defined %%i set %%i=A&echo %%i>>2.txt
  6. del *.tmp 2>nul )
  7. for /f "delims=" %%a in (2.txt) do (
  8. if exist %%a (
  9. echo %%a存在>>存在.txt) else (
  10. echo %%a不存在>>不存在.txt)
  11. )
  12. del 2.txt
  13. pause
复制代码


高手写起来应该会比较简单的,我比较粗糙。

[ 本帖最后由 yhcbird 于 2011-1-18 11:50 编辑 ]
1

评分人数

菜鸟学批,一批一大批~~~~~~

TOP

  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3.     set "a=%%a"&set d=%%~aa
  4.     setlocal enableDelayedExpansion
  5.     if "!d!"=="!d:d=!" if "!a!"=="!a:?=!" (
  6.         if exist "!a!" (echo !a! 存在) else (echo !a! 不存在)
  7.     )
  8.     Endlocal
  9. ))>1_.txt
复制代码

如果需要直接修改源文件,则在最后面加:move 1_.txt 1.txt

[ 本帖最后由 hanyeguxing 于 2011-1-18 13:12 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

仰望孤星哥解题:)。。。。两个if的判断。。好喜欢。。。我就是不擅长这样用。哎~~~
孤星哥上面那段好象对不是完整路径的还没有排除~~ 追加一个判断就搞定了。yeah就是这样的,帅气 :))

[ 本帖最后由 yhcbird 于 2011-1-18 12:07 编辑 ]
菜鸟学批,一批一大批~~~~~~

TOP

回复 3楼 的帖子

hanyeguxing 版主写得好,谢谢
谦虚是持续成功的保证..
www.13168.org

TOP

返回列表