FORコマンドに問題があります。私はここで数え切れないほどの記事を読みましたが、私が探しているものにぴったり合うものは何もありません。たくさんのファイル(約6000)があるディレクトリを取得し、ファイルを読み取り、変数が0ではなく1を読み取った場合は、そのデータを1つのファイルにフォーマットしようとしています。スクリプトは完全にはほど遠いです。問題があります。私がこれまでに持っているコードはそれ自体です
@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
これにより、以下の情報を含むファイルからそのような出力が得られます。
コンピューターBSOD0NTFS0DISK0 Service0 Service0
test "スペースはありませんが、テストは残りの出力の下の行にあります
出力にファイル名(この場合はテスト)を含めたくありません。私はここで何が間違っているのですか?
ファイル情報「COMPUTERBSOD0NTFS0DISK0Service0Service0」