Batch file Batch file可列出所有文件并将其中一个保存在循环变量中
我正在寻找一个批处理文件,它将列出的一个文件保存为变量,然后继续获取有关它的一些信息,然后将其设置为已列出,然后列出所有其他文件,直到没有剩余文件。重要的是将%FILE%作为单个文件(例如:C:\folder\FILE.ext) 我试着这样做:Batch file Batch file可列出所有文件并将其中一个保存在循环变量中,batch-file,Batch File,我正在寻找一个批处理文件,它将列出的一个文件保存为变量,然后继续获取有关它的一些信息,然后将其设置为已列出,然后列出所有其他文件,直到没有剩余文件。重要的是将%FILE%作为单个文件(例如:C:\folder\FILE.ext) 我试着这样做: @echo off :loop for %%x in (%dir%\*) do set FILE=%%x if %FILE%=%alreadyusedfile% goto loop goto scan :scan echo Now scanning %
@echo off
:loop
for %%x in (%dir%\*) do set FILE=%%x
if %FILE%=%alreadyusedfile% goto loop
goto scan
:scan
echo Now scanning %FILE%
(do some things here)
set alreadyusedfile=%alreadyusedfile% %FILE%
goto loop
但这似乎不起作用。有什么想法吗?你需要在循环中处理文件,你有两个选择 使用CALL命令使代码像函数一样工作
@echo off
for %%x in (%dir%\*) do call :scan "%%x"
goto :eof
:scan
echo Now scanning "%~1"
(do some things here)
Goto :eof
或者在FOR构造中执行所有操作
@echo off
for %%x in (%dir%\*) do (
echo Now scanning %%x
do some things here
)
这回答了你的问题吗@如果他们都工作的话。如果第二组代码对您不起作用,那么您就更改了一些内容。“do此时出乎意料。”@rifteyy因为您没有向我们展示您尝试使用的所有代码,我甚至猜不出您尝试实现第二组代码的方式可能有什么问题。