У меня есть скрипт, который читает количество строк файла и устанавливает это число в переменной ROWCOUNT .

Таким образом, чтобы добавить нижний колонтитул, подобный этому, «F | 5» в файл file.txt с ROWCOUNT минус заголовок, я делаю вычитание и с помощью echo отправляю его в файл, но в этой строке я не уверен, какая часть завершается с ошибкой как «^ |» должен напечатать трубу еще на экране это показывает F | только и сгенерированный файл пуст.

Также это перестает быть проблемой, когда ROWCOUNT> 10

@echo off
set ROWCOUNT=7
set /A TT=ROWCOUNT-1
echo F^|%TT%>>C:\Users\file.txt
pause

Даже с отключенным эхом это графический вывод, а file.txt пуст:

F|
Press any key to continue . . .

1 ответ1

0

Число непосредственно перед перенаправлением представляет дескриптор файла. Когда вы используете перенаправление как >>someFile , это действительно означает 1>>someFile , где 1 представляет стандартный вывод. Также есть 2 для stderr и 0 для stdin. Другие дескрипторы файлов могут быть определены вашим кодом.

Ваш код имеет номер перед перенаправлением, поэтому он интерпретируется как неопределенный дескриптор файла.

Решение состоит в том, чтобы просто переместить перенаправление на передний план.

>>C:\Users\file.txt echo F^|%TT%

Другой вариант заключается в использовании скобок

(echo F^|%TT%)>>C:\Users\file.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .