搜索特定文件夹中的文件

罗坦075

您好,我遇到有关查找带有批处理文件的文件的问题。
我有以下批处理文件:

echo off
set arg1=%1
set arg2=%2
set arg3=%3

echo %arg1% %arg2% %arg3%

for /r %arg1% %%g in (%arg3%) do echo %%g

我的文件夹的布局为:

TEST
---- 1702
-------jquery.js
---- 1704
-------jquery.js

每当我使用此输入运行批处理文件时:

test.bat "C:\Batch Examples\TestDir" "C:\Batch Examples\OutDir" "jquery.js"

我得到以下输出:

"C:\Batch Examples\TestDir" "C:\Batch Examples\OutDir" "jquery.js"
C:\Batch Examples\TestDir\"jquery.js"
C:\Batch Examples\TestDir\1702\"jquery.js"
C:\Batch Examples\TestDir\1704\"jquery.js"

为什么C:\Batch Examples\TestDir\"jquery.js"显示在结果中?
TestDir目录中没有jquery文件。

我想要的输出是:

jquery.js
jquery.js

任何人都可以向我解释我做错了什么?

LotPings

您的错误是对arg3使用固定值。For /R将从arg1开始为每个文件夹应用(jquery.js)的(子)文件夹的迭代,它不求值。

@Echo off
echo %1 %2 %3
for /r "%~1" %%g in ("%~3*") do echo %%~fg

应该返回:

C:\Batch Examples\TestDir\1702\jquery.js
C:\Batch Examples\TestDir\1704\jquery.js

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章