Saya memiliki file batch ini dan saya perlu melewati 'gema' dari beberapa baris. Baris yang ingin saya lewati adalah:
W;;
A;;TE;Tr100;8;;31.79;SHIP-TE50;;
A;;TE;Tr100;8;;33.08;SHIP-TE50;;
and so on .
Saya hanya ingin menggunakan A;;TE;Tr100;
dan kemudian wildcard untuk menangkap garis dan melewatkan menampilkannya. Ini bekerja untuk W;;
tetapi tidak bekerja untuk A;;TE;
Bagaimana saya bisa melakukannya?
@ECHO OFF
cls
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a number=%1-1
SET "sourcedir=z:\abc\def\ghi"
SET "filename1=%sourcedir%\jklm%number%.gwl"
SET "last="
FOR /f "delims=" %%a IN ('sort "%filename1%"') DO (
IF "%%a"=="W;;" goto :break
IF "%%a"=="A;;TE;*" goto :break
IF "%%a"=="!last!" ECHO %%a
SET "last=%%a"
)
:break
GOTO :EOF
batch-file
susik
sumber
sumber
Jawaban:
Baca
if /?
; Anda menggunakanIF [NOT] string1==string2 command
pola sintaks:Tidak ada tentang wildcard . Namun, Anda dapat melakukan yang terbaik dari
FINDSTR
perintah :Ekspresi Reguler (Cari pola teks)
FINDSTR
dapat menggunakan karakter metach berikut yang memiliki arti khusus baik sebagai operator atau pembatas.FINDSTR
dukungan untuk ekspresi reguler terbatas dan tidak standar , hanya karakter metak berikut yang didukung:Cuplikan kode berikut dapat membantu:
sumber