Batch file 批处理:使用FOR命令检查文件夹中的文件
我做了执行以下任务的批处理脚本: 如果文件Batch file 批处理:使用FOR命令检查文件夹中的文件,batch-file,Batch File,我做了执行以下任务的批处理脚本: 如果文件abc.laccdb仍在update文件夹中,则显示一条消息:请稍候……。如果abc.laccdb文件不在“更新”文件夹中,则显示一条消息:成功更新数据。 我的批处理脚本是: @ECHO OFF start update_data.vbs :check FOR %%F IN (update\abc.laccdb) DO ( echo wait a minute... goto :check ) echo updating data successfu
abc.laccdb
仍在update
文件夹中,则显示一条消息:请稍候……
。如果abc.laccdb
文件不在“更新”文件夹中,则显示一条消息:成功更新数据。
我的批处理脚本是:
@ECHO OFF
start update_data.vbs
:check
FOR %%F IN (update\abc.laccdb) DO (
echo wait a minute...
goto :check
)
echo updating data successfully
pause
使用上面的脚本,“稍等片刻…”消息将持续显示在命令提示窗口中,即使
abc.laccdb
文件未在Update
文件夹中。如果abc.laccdb
文件不在Update
文件夹中,则bacth应用程序将正确运行下一行(echo更新数据成功)
。请更正我的脚本。谢谢:)带有通配符的for
命令将枚举与通配符匹配的文件,但如果没有通配符,它将无法确保文件存在,因此无论文件是否存在,do
子句中的代码都将始终执行
使用
@ECHO关闭
启动更新_data.vbs
:检查
ping-n3 localhost>nul2>nul
如果存在“更新\abc.laccdb”(
等一下。。。
后藤:检查
)
echo已成功更新数据
暂停
在没有等待的情况下进行等待循环并不总是一个好主意。包含了
ping
,可在循环之间产生2秒的暂停,以减少cpu使用 带有通配符的for
命令将枚举与通配符匹配的文件,但如果没有通配符,它将无法确保文件存在,因此无论文件是否存在,do
子句中的代码将始终执行
使用
@ECHO关闭
启动更新_data.vbs
:检查
ping-n3 localhost>nul2>nul
如果存在“更新\abc.laccdb”(
等一下。。。
后藤:检查
)
echo已成功更新数据
暂停
在没有等待的情况下进行等待循环并不总是一个好主意。包含了
ping
,可在循环之间产生2秒的暂停,以减少cpu使用 带有通配符的for
命令将枚举与通配符匹配的文件,但如果没有通配符,它将无法确保文件存在,因此无论文件是否存在,do
子句中的代码将始终执行
使用
@ECHO关闭
启动更新_data.vbs
:检查
ping-n3 localhost>nul2>nul
如果存在“更新\abc.laccdb”(
等一下。。。
后藤:检查
)
echo已成功更新数据
暂停
在没有等待的情况下进行等待循环并不总是一个好主意。包含了
ping
,可在循环之间产生2秒的暂停,以减少cpu使用 带有通配符的for
命令将枚举与通配符匹配的文件,但如果没有通配符,它将无法确保文件存在,因此无论文件是否存在,do
子句中的代码将始终执行
使用
@ECHO关闭
启动更新_data.vbs
:检查
ping-n3 localhost>nul2>nul
如果存在“更新\abc.laccdb”(
等一下。。。
后藤:检查
)
echo已成功更新数据
暂停
在没有等待的情况下进行等待循环并不总是一个好主意。包含了ping
,可在循环之间产生2秒的暂停,以减少cpu使用 使用用户的答案:
@ECHO OFF
echo wait a minute...
start update_data.vbs
ping -n 5 localhost >nul 2>nul
:check
if exist "update\abc.laccdb" (
ping -n 3 localhost >nul 2>nul
goto :check
)
echo updating data successfully
pause
显示回音等待一分钟…
提前发送消息…使用用户的回答:
@ECHO OFF
echo wait a minute...
start update_data.vbs
ping -n 5 localhost >nul 2>nul
:check
if exist "update\abc.laccdb" (
ping -n 3 localhost >nul 2>nul
goto :check
)
echo updating data successfully
pause
显示回音等待一分钟…
提前发送消息…使用用户的回答:
@ECHO OFF
echo wait a minute...
start update_data.vbs
ping -n 5 localhost >nul 2>nul
:check
if exist "update\abc.laccdb" (
ping -n 3 localhost >nul 2>nul
goto :check
)
echo updating data successfully
pause
显示回音等待一分钟…
提前发送消息…使用用户的回答:
@ECHO OFF
echo wait a minute...
start update_data.vbs
ping -n 5 localhost >nul 2>nul
:check
if exist "update\abc.laccdb" (
ping -n 3 localhost >nul 2>nul
goto :check
)
echo updating data successfully
pause
显示
echo等待一分钟…
提前发送消息…谢谢您的建议,但不要继续工作。命令提示符中持续显示消息“稍等…”window@flyingbird013,因为文件夹/文件的路径是相对于当前active directory(而不是批处理文件夹)的,请确保检查正确的文件夹/文件。等待一分钟…
将为每个循环显示,直到删除标志文件。如果不想重复,请将回音移动到标签前面:检查标签好消息。。在我将行ping-n3localhost>nul2>nul
更改为ping-n6localhost>nul5>nul
之后,我的问题就解决了。非常感谢你的建议,但不要继续工作。命令提示符中持续显示消息“稍等…”window@flyingbird013,因为文件夹/文件的路径是相对于当前active directory(而不是批处理文件夹)的,请确保检查正确的文件夹/文件。等待一分钟…
将为每个循环显示,直到删除标志文件。如果不想重复,请将回音移动到标签前面:检查标签好消息。。在我将行ping-n3localhost>nul2>nul
更改为ping-n6localhost>nul5>nul
之后,我的问题就解决了。非常感谢你的建议,但不要继续工作。命令提示符中持续显示消息“稍等…”window@flyingbird013,因为文件夹/文件的路径是相对于当前active directory(而不是批处理文件夹)的,请确保检查正确的文件夹/文件。等待一分钟…
将为每个循环显示,直到删除标志文件。如果不想重复,请将回音移动到标签前面:检查标签好消息。。在我将行ping-n3localhost>nul2>nul
更改为ping-n6localhost>nul5>nul
之后,我的问题就解决了