我在使用 FOR 命令时遇到了一些问题。我在这里阅读了无数文章,但没有什么能完全符合我的要求。我正在尝试获取一个包含大量文件(大约 6000 个)的目录,如果变量读取为 1 而不是 0,则读取文件并将该数据格式化为单个文件。脚本远未完成我只是有一个问题。我到目前为止的代码就是这样
@echo off
set Rfile=
dir /b g:\health\test\ >> dir.txt
For /F "tokens=1 delims=" %%y in (dir.txt) do Call :Read %%y
:Read
set Rfile=%~1
For /F "tokens=1,2,3,4,5,6 delims=" %%a in (g:\health\test\%Rfile%) do Call :test %%a
:test
SET Machine=%~1
SET BSOD=%~2
SET NTFS=%~3
SET DISK=%~4
Set Workstation=%~5
Set Server=%~6
If NOT "%BSOD%" == "%Machine%" (
echo %machine% %BSOD% %NTFS% %DISK% %WorkStation% %Server%
)
:EOF
这为我提供了来自具有以下信息的文件的输出。
电脑蓝屏0 NTFS0 磁盘0 服务0 服务0
测试”没有空格,但测试在输出其余部分的下方
我不希望输出中的文件名(在本例中为 test)。我在这里做错了什么?
文件信息“COMPUTER BSOD0 NTFS0 DISK0 Service0 Service0”