for-loop - 在批处理文件中的for循环之后执行命令?
问题描述
我有一个批处理文件,它目前做了两件事,它首先进入所需的目录,然后它将运行一个 for 语句来删除不是某个文件的每个文件,bat 文件的内容如下所示:
cd "bin\drivers" && for %%i in (*.*) do if not %%i == lol.exe del %%i
这完美地工作,但我想在这个 for 语句执行后做一些其他的事情,像这样:
cd "bin\drivers" && for %%i in (*.*) do if not %%i == lol.exe del %%i && cd ../../../ && start server
但这样做的问题是,虽然它确实执行了 for 循环之后的语句,但 for 循环只执行一次迭代,所以它只删除一个文件并移动到 bat 文件中的下一个语句(即 cd,然后启动服务器)。有什么办法可以让 for 语句之后的语句在整个 for 循环完成而不是 1 次迭代之后执行?
解决方案
这将首先循环,一旦循环完成,它将只执行服务器。
@echo off
if not exist "bin\drivers" goto :eof
cd /d "bin\drivers"
for %%i in (*) do if not "%%~i" == "lol.exe" del "%%~i"
cd /d ..\..\..\
start server
推荐阅读
- c# - 是否可以将datagridview循环到每个excel文件
- reactjs - Nrwl Storybook React 不渲染图像
- ios - SwiftUI 将 navigationBarItems 按钮与“消息”中的大 navigationBarTitle 对齐
- python - 如何在python中对列表块进行排序?
- node.js - 为什么 Winston 以自定义格式输出“未定义”?
- flutter - 如何在颤动时保持密钥库文件的私密性?
- node.js - 如何在 request-promise 对象中调用异步函数?
- android - LiveData Value 仅观察最后一个附加值,但使用延迟使其工作不明白为什么?
- swift - Swift:如何从 Type 对象列出结构中的字段?
- c++ - 别名模板不是类模板吗?