Windows bat文件在启动时执行

Windows bat文件在启动时执行,windows,batch-file,Windows,Batch File,我有一个.bat文件。这就是我到目前为止所做的: @echo off for /f "tokens=*" %%a in ('curl -X GET http://my.host.address') do (set response=%%a) IF "%response:~0,3%" == "Sat" (goto close) IF "%response:~0,3%" == "Sun" (goto close) goto open :open start "" "D:\my\

我有一个.bat文件。这就是我到目前为止所做的:

@echo off

for /f "tokens=*" %%a in ('curl -X GET http://my.host.address') do (set response=%%a)

IF "%response:~0,3%" == "Sat" (goto close)
IF "%response:~0,3%" == "Sun" (goto close)
goto open    

:open
    start "" "D:\my\folder\app1.exe"
    start "" "D:\my\other\folder\app2.exe"
    goto close

:close
    pause
    exit

:nothing

问题是,有时它会说“找不到app1.exe”,有时它会起作用。我把这个bat文件的快捷方式放在启动文件夹中,让它在每次计算机启动时运行。我做错了什么?另外,我如何知道使用curl调用的url是否返回OK响应,如果调用有任何问题,脚本如何处理?

嗯,问题似乎是它找不到文件
D:\my\folder\app1.exe
。是否可能D:是在批处理文件运行时尚未映射的网络驱动器?@CodyGray:否,D:\是本地驱动器。但如果它找不到所说的文件夹,它应该每次都失败,而不是有时,对吗?这真是令人困惑。@Thomas发布的批处理代码有时无法从本地硬盘
D:
启动
app1.exe
?你真正的批处理文件看起来不同吗?@Mofi:那只是测试文件夹。如果我在启动后运行批处理文件,它就可以正常工作。但如果它在启动时运行,它就会失败