标题: [文本处理] 判断文件是否存在并删除文件的 bat 为何执行失败? [打印本页]
作者: lansemouzi 时间: 2013-12-17 13:47 标题: 判断文件是否存在并删除文件的 bat 为何执行失败?
- @echo off
- dir s*.exe
- if %errorlevel%==0
- del bb.txt && echo "have already delete bb.txt"
- echo "no files like s*.exe“
- pause>nul
复制代码
大侠,上面的代码我想要实现的功能是:
查看是否有 s*.exe ,如果有那么删除 bb.txt并且 显示have already delete bb.txt ,如果没有s*.exe,显示"no" files like s*.exe,然后暂停。
但是该脚本在运行的时候,并没有将 bb.txt 删除,不知道那里写的不对,请指教。对了,这个脚本是我根据 下面的代码自己修改的。很感激大家,我刚开始学习,还请多帮帮我!谢谢!- @echo off
- dir s*.exe || echo Didn't exist file s*.exe & pause & exit
复制代码
作者: xxpinqz 时间: 2013-12-17 14:35
- @echo off
- if exist "s*.exe" (
- del /f bb.txt
- echo "have already delete bb.txt"
- ) else (
- echo "no files like s*.exe“
- )
- pause>nul
复制代码
作者: lansemouzi 时间: 2013-12-17 15:37
回复 2# xxpinqz
刚才试了一下 如果路径下存在 bb.txt ,没有问题可以删除;但是如果在该路径下没有bb.txt 那么在cmd 下还是会显示 “找不到bb.txt, have already delete bb.txt” 。所一代码还是有问题的,还请帮忙看看,谢谢。
作者: lifei259 时间: 2013-12-17 17:01
- @echo off
- if exist "s*.exe" (
- if exist bb.txt del /f bb.txt&echo "have already delete bb.txt"
- ) else (
- echo "no files like s*.exe"
- )
- pause>nul
复制代码
作者: binghejin 时间: 2013-12-17 18:24
我不太会写代码,但是这个代码是经过我测试的,没有问题,不过用到了标号和跳转命令,似乎不是太简洁!- @echo off
- if not exist s*.exe goto 没有
- goto 有
- :有
- if not exist bb.txt goto 没有bb
- goto 有bb
- :没有
- echo "no" files like s*.exe
- goto end
- :没有bb
- echo have already delete bb.txt
- goto end
- :有bb
- @del bb.txt
- echo have already delete bb.txt
- goto end
- :end
- pause
复制代码
作者: binghejin 时间: 2013-12-17 18:28
4楼的我验证了一下,如果当前路径下有s*.exe文件,同时还有bb.txt文件,那么没问题,可以删除bb.txt文件,同时显示一段文字,但是如果仅仅有s*.exe而没有bb.txt文件,那么就没有任何显示,如果达到了你的要求,就可以直接使用4楼的代码,比我的要简洁多了!
作者: xxpinqz 时间: 2013-12-18 00:59
回复 3# lansemouzi
bb.txt改为bb.txt 2>nul
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |