Добавление данных из файла в другой файл в файле .bat - PullRequest
1 голос
/ 28 февраля 2011

У меня есть файл .bat, который генерирует файл из некоторых предыдущих команд, мне нужно добавить в этот файл .bat несколько команд dos, которые добавляют содержимое этого файла в другой файл, имена исходного файла и файла назначенияисправлены, и оба являются текстовыми файлами.

В некоторых случаях исходный файл не создается из команд на .bat, поэтому, возможно, можно добавить проверку этого условия перед выполнением команды добавления?

Как я могу это сделать?

Я пытался copy target+source target, но иногда, используя это, я нахожу целевой файл с некоторыми дополнительными символами в начале строки, я не знаю почему.

Спасибо

Ответы [ 2 ]

1 голос
/ 28 февраля 2011

Вы не можете напрямую копировать поверх оригинального файла (ов).Также убедитесь, что вы используете переключатель /B для COPY для копирования с использованием «двоичного режима» - если этого не сделать, это имеет следующие негативные последствия:

  1. Любой «конец файла»символ (код ASCII 26), появляющийся в одном из исходных файлов, преждевременно обрежет файл в этой точке.Текстовые файлы обычно не содержат этот символ, но двоичные файлы (например, .EXE-файлы или .DOC-файлы) часто содержат.
  2. Символ «конец файла» будет добавлен в конец выводаfile.

Пример того, как это правильно сделать:

copy /B input1 + input2 output
move /Y output input1

Команда move перемещает файл output обратно поверх input1;/Y подавляет "Перезаписать?"подскажите, иначе вы бы увидели.

0 голосов
/ 28 февраля 2011

Если ваш текст был закодирован UTF-8 или UTF-16, возможно, дополнительные символы - это BOM (Byte Order Mark)?Спецификация существует в начале файла и имеет длину 3 байта.Это соответствует вашему пробрему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...