Как создать пустой текстовый файл из пакетного файла?

Может кто-нибудь помнить, что было командой для создания пустого файла в MSDOS с использованием BAT файла?

Ответ 1

echo. 2>EmptyFile.txt

Ответ 2

copy NUL EmptyFile.txt

В DOS есть несколько специальных файлов (устройств, фактически), которые существуют в каждом каталоге, NUL является эквивалентом UNIX /dev/null: это волшебный файл, который всегда пуст и отбрасывает все, что вы ему пишете. Здесь список других; CON иногда также полезен.

Чтобы вообще не выводить какой-либо вывод, вы можете использовать

copy /y NUL EmptyFile.txt >NUL

/y не позволяет copy задавать вопрос, который вы не видите, когда вывод идет на NUL.

Ответ 3

type NUL > EmptyFile.txt

Прочитав предыдущие два сообщения, это сочетание двух - это то, с чем я столкнулся. Кажется, немного чище. Не нужно беспокоиться о перенаправлении "1 файла (ов)". сообщение NUL, как и предыдущее сообщение, и выглядит хорошо рядом с ECHO OutputLineFromLoop >> Emptyfile.txt, которое обычно будет выполняться в пакетном файле.

Ответ 4

Методы, которые я собрал из других ответов:

Делает 0-байтовый файл очень понятным, обратным образом:

type nul >EmptyFile.txt

через анонимный, Дэнни Бэкетт, возможно, другие, я вдохновлен Работа JdeBP

Файл с 0 байтами другой способ, он обратный-совместимый вид:

REM. >EmptyFile.txt

идея через: Йоханнес

Файл с 0 байтами 3-го способа также совместим с обратной совместимостью:

echo. 2>EmptyFile.txt

через TheSmurf

Файл с 0 байтами систематически возможно доступен со времен Windows 2000:

fsutil file createnew EmptyFile.txt 0

через Emm

Файл с 0 байтами, перезаписывающий файлы readonly

ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL

через copyitright

Одна новая строка (2 байта: 0x0D 0x0A в hex-нотация, альтернативно написанная как \r\n)

echo.>AlmostEmptyFile.txt

Примечание: нет пробелов между echo, . и >.

идея через: Как вы можете эхо обновить строку в пакетных файлах?


edit Кажется, что любая некорректная команда, перенаправленная в файл, создаст пустой файл. хе, особенность! совместимость: uknown

TheInvisibleFeature <nul >EmptyFile.txt

Файл с 0 байтами: неверная команда/со случайным именем (совместимость: uknown):

%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt

через: great источник для случайного по Hung Huynh

edit 2. Andriy M указывает на наиболее забавный/провокационный способ добиться этого с помощью недействительной команды

Файл с 0 байтами: неверная команда /funky way (совместимость: неизвестно)

*>EmptyFile.txt

идея через: Andriy M

Файл с 0 байтами 4-го уровня:

break > file.txt

через foxidrive благодаря comment Double Gras!

Ответ 5

REM. > empty.file

Ответ 6

Если существует вероятность того, что файл для записи уже существует и доступен только для чтения, используйте следующий код:

ATTRIB -R filename.ext
CD .>filename.ext

Если файла не существует, просто выполните:

CD .>filename.ext

(обновлен/изменен код в соответствии с комментарием DodgyCodeException)

Чтобы устранить любые ошибки, которые могут возникнуть:

ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL

Ответ 7

fsutil file createnew file.cmd 0

Ответ 8

Еще один, чтобы добавить к книгам - короткий и сладкий тип.

break>file.txt
break>"file with spaces in name.txt"

Ответ 9

Вместо COPY вы можете использовать команду TYPE. Попробуйте следующее:

TYPE File1.txt>File2.txt

Где File1.txt пусто.

Ответ 10

Вы также можете использовать SET для создания файла с нулевым byte следующим образом

set x=x > EmptyFile.txt

Или, если вы не хотите создавать дополнительную переменную, переназначьте существующую переменную типа

set PROMPT=%PROMPT% > EmptyFile.txt

или вот так:

set "PROMPT=%PROMPT%" > EmptyFile.txt

Ответ 11

Самый простой способ:

echo. > Filename.txt