Я создал командный файл для обработки файла входных записей. Я вырезал большую часть кода, так что здесь проблема. Когда он читает третью запись с амперсандом, задание не записывает выходную запись, ЕСЛИ Я не ставлю двойные кавычки вокруг переменной %%H
. Однако, когда я делаю это, он добавляет "
к первому и последнему байту записи. Я хочу, чтобы в основном скопировать запись, и я делаю некоторые другие обработки.
Есть ли способ отделить "спереди и сзади" от добавляемого или есть способ для ECHO обработать амперсанд? Спасибо!
Входной файл имеет три записи:
HOW NOW BROWN COW
JACK AND JILL
JUST YOU & ME
Сценарий выглядит следующим образом:
set infile=D:\file.txt
set outfile=D:\outfile.txt
for /F "tokens=*" %%H in (%infile%) do (CALL :Loop "%%H")
rem for /F "tokens=*" %%H in (%infile%) do (CALL :Loop %%H)
GOTO :Loop_Exit
:Loop
echo %* >> %outfile%
:Loop_Exit
pause