実際のニーズに合わせてより複雑なバージョンのスクリプトを作成できるように、テストコードを取得しようとしていますが、FINDコマンドでは苦労しています。FINDコマンドのバッチ問題
マイコード:
@echo off
SETLOCAL DISABLEDELAYEDEXPANSION
>"%~dpn1_b.txt" (
FOR /F "tokens=1* delims=]" %%j in ('find /V /N "" %1') DO (
SET "currentLine=%%k"
SETLOCAL ENABLEDELAYEDEXPANSION
IF "!currentLine:~0,3!"=="12/" (
SET string=!currentLine:~0,2!!currentLine:~3,4!
FIND "%string%" 111.txt > nul
IF %errorlevel% EQU 0 (SET "currentLine=!currentLine:~0,2!!currentLine:~3!")
)
ECHO(!currentline!
ENDLOCAL
)
)
これは、バッチファイルにtest.txtというドラッグすることによって実行されます。
111.txtは123456を保持します。test.txtは、1行目が12/3456、2行目が12/4456です。スクリプトは最初の行からスラッシュを削除するが、2番目の行から削除するはずではない。どのようなアイデアが間違っていた?
一般ヒント:デバッグ時にファイルの先頭から '@echo off'を削除します。 –
私はスクリプトが何かを中止しないということを忘れています。両方のスラッシュを削除します。 –