批处理判断文件存在就运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理判断文件存在就运行相关的知识,希望对你有一定的参考价值。

具体是这样的: 判断 C:\Program Files (x86)\1.vbs 存不存在, 如果存在 就运行1.vbs 如果不1.vbs 不存在 就跳过 不提示没有找到文件 或者其它任何错误提示, 直接运行 批处理中的 其它命令

参考技术A @echo off
cd /d C:\Program Files (x86)
if exist 1.vbs (start /b 1.vbs) else (echo >nul 2>nul)
pause
望采纳,谢谢!
参考技术B if exist "%ProgramFiles(x86)\\1.vbs" "%ProgramFiles(x86)\\1.vbs"

这句命令搞定。

追问

这个命令 必须 等到1.vbs 运行结束以后 才会 继续批处理 后面的命令 , 我要的是 只要运行了1.vbs 不管他有没有 运行结束 紧接着执行 批处理后面的命令

追答

if exist "%ProgramFiles(x86)\1.vbs" start "" "%ProgramFiles(x86)\1.vbs"

cmd 批处理 怎样过滤掉包含某些字符的文件?

for /f "delims=" %%i in ('dir /b')do if not "%%~i"=="%~nx0" ren "%%~i" "%%~ni(亲爱的)%%~xi" 这是原语句。这是.bat版。

这条批处理的含义是在每个文件名后面加上(亲爱的)。
但是在已经加上(亲爱的)文件名应当过滤掉,再次运行就会变成(亲爱的)(亲爱的)。
所以需要加个if,但是判断条件真心不会,就是获取文件名后四位或者文件名中包含字符这种,一直没找到。
要是回答的,建议自己试一下。

for /f "delims=" %%i in ('dir /b') do (
if not "%%~i"=="%~nx0" (
echo "%%~i" | find /i "(亲爱的)%%~xi" || (
ren "%%~i" "%%~ni(亲爱的)%%~xi"
)
)
)
参考技术A …… in ('dir /b^|find /i /v "亲爱的"') do ……

以上是关于批处理判断文件存在就运行的主要内容,如果未能解决你的问题,请参考以下文章

批处理判断进程是不是存在 存在就继续执行,否则等待5秒后

批处理执行检查文件,存在就等待,不存在执行运行另一个程序?

批处理 if exist 判断两个文件

可以使用C预处理器来判断文件是否存在吗?

VB检查多个文件是不是存在

cmd 批处理 怎样过滤掉包含某些字符的文件?