windows - 批处理目录中的所有文件

标签 windows batch-file cmd

现在我有一个我写的批处理作业调用另一个文件并传入可执行文件运行所需的变量(密码和文件名)。

例如:

> cd f:\test\utils 
> admin import-xml -Dimport.file=f:\DB\file1.xml  -Dadmin.db.password=test123

我写了一个作业来做这个,但发现会有多个文件。

用户名和密码永远不会改变,但文件名因大约 15 个不同的 xml 文件而不同——可能很快还会有更多。

文件将始终位于同一文件夹中。我可以写一些东西来处理位于该目录中的每个文件,而不是像 15-20 个作业(每个文件一个)那样结束。要么等到一个文件完成后再下一个文件,要么我可以在它开始下一个文件之前添加 3 分钟的 sleep 时间。

最佳答案

pushd C:\test\utils
for %%F in (F:\DB\*.xml) do (
   admin import-xml "-Dimport.file=%%~dpnxF" -Dadmin.db.password=test123
)
popd

%%~dpnxF 扩展为 d rive, p ath, base n ame 和 e x 当前文件的张力。

如果您打算在该循环中设置使用环境变量(%foo%),请先阅读help set,然后再进入麻烦。

关于windows - 批处理目录中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5642021/

相关文章:

windows - 批处理 : Search Directory in every Directory and Subdirectory

service - 如果未使用批处理文件安装服务,如何在 Windows 中检查

windows - 直接调用 vs 调用 vs 开始

java - 我们如何通过 Windows cmd 停止正在运行的 java 进程?

command-line - 评估用户定义变量的第一个字符是否为大写

javascript - 火狐插件-执行shell命令-参数编码

android - 在 Qt Android 项目中使用 OpenCV 时的链接顺序

javascript - 带弹出窗口的 Windows 应用商店 HTML 应用程序

c++ - 有没有ATL服务的开发资料

windows - 每 x 个字符批量添加一个字符