Board logo

标题: [其他] [已解决]验证文件夹下是否存在文件的批处理出现空格如何解决? [打印本页]

作者: Sgr    时间: 2011-8-22 16:56     标题: [已解决]验证文件夹下是否存在文件的批处理出现空格如何解决?

我写了一个简单的BAT去验证文件夹下是否存在这个文件
  1. @echo off
  2. if exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat"
  3. goto a
  4. if not exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat"
  5. goto b
  6. :a
  7. echo "File exist !"
  8. echo.
  9. :b
  10. echo "File does not exist !"
复制代码
============================================
这个文件压根就不执行,我知道应该是双引号的位置放的不对,可是试了几次还是不行..请教..
作者: Sgr    时间: 2011-8-22 17:00

我只想知道如果这么连着写,路径加文件名,中间如果有空格的话,应该如何处理..谢谢了..
作者: Sgr    时间: 2011-8-22 17:12

全代码是这样的:

@echo off
if exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat"
goto a

if not exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat"
goto b

:a
echo "File exist !"
echo.
goto end

:b
echo "File does not exist !"
goto end

:end
echo.
echo "Good bye"
echo.
pause
========================================================
能告诉我这段代码为什么窗口一闪而过,似乎并没有执行吗..先谢谢了..
作者: Sgr    时间: 2011-8-22 17:12

pause根本没起作用..为什么呀..窗口并没有停住..而且这个BAT也根本没有执行..
作者: raymai97    时间: 2011-8-22 18:42

当然一闪而过了,你的if都用错了
  1. if "%a%"=="1" goto a
复制代码
不是
  1. if "%a%"=="1"
  2. goto a
复制代码
所以完整的代码是:
  1. @echo off
  2. if exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat" goto a
  3. if not exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat" goto b
  4. :a
  5. echo "File exist !"
  6. echo.
  7. goto end
  8. :b
  9. echo "File does not exist !"
  10. goto end
  11. :end
  12. echo.
  13. echo "Good bye"
  14. echo.
  15. pause
复制代码
还有代码可以精简成:
  1. @echo off
  2. if exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat" (echo File exist!) else (echo File does not exist)
  3. echo.
  4. echo Goodbye
  5. echo.
  6. pause
复制代码
最后提醒一下楼主,请把代码括起来!
作者: Sgr    时间: 2011-8-22 19:03

原来如此..多谢了..
作者: garyng    时间: 2011-8-22 19:05

这样应该可以吧~还有这问题你很像问过了~http://bbs.bathome.net/thread-13774-1-1.html
  1. @echo off
  2. if exist "C:\Program Files\VT\Virtual Tools\Agent\support.bat" (echo File exist !&echo\&echo Goodbye!&pause) else (echo File does not exist !&echo\&echo Goodbye!&pause)
复制代码

作者: Sgr    时间: 2011-8-22 19:25

问的不太一样..谢谢回复..
作者: raymai97    时间: 2011-8-22 19:26

回复 6# Sgr


    看来你真的是新手,还有要提醒的是:在此论坛,你的问题得到解决后,不想被扣分的话请在帖子的标题那边加上“【已解决】”~




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2