it-swarm-ru.tech

Как создать пустой файл в командной строке в Windows?

Как создать пустой файл в командной строке DOS/Windows?

Я старался:

copy nul > file.txt

но это всегда показывает, что файл был скопирован.

Есть ли другой способ в стандартном cmd?

Это должен быть метод, который не требует команды touch от Cygwin или любых других нестандартных команд. Команду необходимо запустить из сценария, чтобы нельзя было использовать нажатия клавиш.

444
Grendler

Без перенаправления, Luc V или Эрик Константопулосточкаout чтобы:

copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt

" Как создать пустой текстовый файл из пакетного файла? " (2008) также указывает на:

type NUL > EmptyFile.txt
# also
echo. 2>EmptyFile.txt
copy nul file.txt > nul # also in qid's answer below
REM. > empty.file
fsutil file createnew file.cmd 0 # to create a file on a mapped drive

Номад упоминает оригинал :

C:\Users\VonC\prog\tests>aaaa > empty_file
'aaaa' is not recognized as an internal or external command, operable program or batch file.

C:\Users\VonC\prog\tests>dir

 Folder C:\Users\VonC\prog\tests

27/11/2013  10:40    <REP>          .
27/11/2013  10:40    <REP>          ..
27/11/2013  10:40                 0 empty_file

В том же духе Самуил предлагает в комментариях :

самый короткий, который я использую, в основном, от Nomad:

.>out.txt

Это дает ошибку:

'.' is not recognized as an internal or external command

Но эта ошибка есть на stderr. И > только перенаправляет stdout, где ничего не было произведено.
Отсюда и создание пустого файла. Сообщение об ошибке можно игнорировать здесь.


(Оригинальный ответ, ноябрь 2009 г.)

echo.>filename

(На самом деле echo "" помещал бы "" в файл! А echo без "." помещал бы "Command ECHO activated" в файл ...)

Примечание: полученный файл не является пустым , но содержит последовательность обратной строки: 2 байта.


Это обсуждение указывает на реальное пакетное решение для реального пустого файла:

 <nul (set/p z=) >filename

 dir filename
 11/09/2009  19:45                 0 filename
 1 file(s)                         0 bytes

"<nul" передает nul ответ на команду set/p, что приведет к тому, что используемая переменная останется неизменной. Как обычно с set/p, строка справа от знака равенства отображается как Подсказка без CRLF.

Так как здесь "строка справа от знака равенства" пуста ... результатом является пустой файл.


Разница с cd. > filename (которая упоминается в ответ Патрика Каффа и также создает файл длиной 0 байт) в том, что этот "бит перенаправления" (трюк <nul...) можно использовать для эхо-строки без CR :

<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt

Команда dir должна указывать размер файла в 12 байт: "hello world!".

515
VonC

Попробуй это:

type NUL > 1.txt

это определенно создаст пустой файл.

255
Justin

Вот еще один способ:

cd. > filename
94
Patrick Cuff

Если вы действительно хотите полностью пустой файл без вывода на stdout, вы можете немного обмануть:

copy nul file.txt > nul

Просто перенаправьте стандартный вывод на nul, и вывод из копии исчезнет.

74
qid

Открыть файл:

type file.txt

Новый файл:

Way 1 : type nul > file.txt
Way 2 : echo This is a sample text file > sample.txt
Way 3 : notepad myfile.txt <press enter>

Изменить содержимое:

notepad file.txt

Copy

copy file1.txt file1Copy.txt

Переименовать

rename file1.txt file1_rename.txt

Удалить файл:

del file.txt
43
iCrazybest

Читая комментарии к моему посту, я должен признать, что неправильно прочитал вопрос.

В командной строке Windows одним из способов будет использование fsutil :

fsutil file createnew <filename> <size>

Пример:

fsutil file createnew myEmptyFile.txt 0

Ниже для командной строки * nix.

touch filename

Эта команда изменяет дату изменения файла или создает ее, если файл не найден.

31
nash
echo "" > filename

Я считаю, что это работает на Windows/DOS, но мой последний практический опыт работы с любым из них был довольно давно. Я точно знаю, что он работает практически на любой POSIX совместимой ОС.

25
Kris
call>file.txt

это самый чистый способ, который я знаю.

21
nephi12

Вы можете написать свой собственный штрих.

//touch.cpp
#include <fstream>
#include <iostream>

int main(int argc, char ** argv;)
{
  if(argc !=2)
  {
    std::cerr << "Must supply a filename as argument" << endl;
    return 1;
  }
  std::ofstream foo(argv[1]);
  foo.close();
  return 0;
}
11
Paul Nathan
cd > filename.cfg 

работал при создании файла в C:/Program Files, где у вас нет доступа для непосредственного создания файлов.

8
Hydrogirl

скопировать con SomeFile.txt Enter

Ctrl-ZEnter

6
DRapp

Еще один метод, который создает файл нулевого байта:

break > "file.txt"
5
foxidrive

Используйте copy > your_file_name.extension в командной строке как

P:\excecise> copy > Sample.txt
5
Raj Kumar Mishra

Попробуйте это: abc > myFile.txt Во-первых, он создаст файл с именем myFile.txt в текущем рабочем каталоге (в командной строке). Затем он запустит команду abc, которая не является допустимой командой. Таким образом, вы получили новый пустой файл с именем myFile.txt.

5
Nomad

так что вы можете создать пустой файл с

'' > newfile.txt

перейдите в каталог и введите указанную выше команду в окне PowerShell.

Обратите внимание, что это не будет работать в командной строке Windows.

4
Aswin 1054

Вы можете использовать старую команду

copy con file_name.ext

ничего не вводите, просто нажмите F6, чтобы сохранить его, однако он напечатает "Файл скопирован", но когда вы откроете файл, он будет пуст

4
Amado Saladino

Вы также можете использовать:

echo. 2>foo

Отладочный вывод для echo. почти наверняка будет пустым.

4
Craig

type nul>filename создаст новый пустой файл.

Извините, я опоздал.

UPDATE: также copy nul filename работает без перенаправления (более очевидное решение).

4
EKons

Я читаю много тем, но это не самый короткий путь.

Пожалуйста, используйте команду:

>copy /b NUL empty_file.txt

3
suhao399

Это сработало для меня,

echo > file.extension

Вот еще один способ, который я нашел сегодня, получил идеи из других ответов, но это сработало

sometext > filename.extension

Например.

xyz > emptyfile.txt  //this would create an empty zero byte text file
abc > filename.mp4   //this would create an zero byte MP4 video media file

Это покажет сообщение об ошибке в командной строке, что,

xyz не является внутренней или внешней командой, работающей программой или командным файлом.

Но странная вещь, которую я обнаружил, заключалась в том, что файл создается в каталоге, даже если эта команда не является стандартной командой Windows.

3
Lucky

В Windows Я пытался сделать это

echo off > fff1.txt

и он создал файл с именем fff1.txt с размером файла 0 КБ

Я не нашел никаких команд, кроме этой, которые могли бы создать пустой файл.

Примечание. Вы должны находиться в каталоге, в котором вы хотите создать файл.

3
Omkar Agrawal

Еще один способ:

copy nul 2>empty_file.txt
3
GadBro

только что попробовал в windows

copy con file.txt

затем нажмите Enter Ключ затем нажмите Ctrl+ZEnter

И это сработало для меня.

Обычно для Ubuntu я создаю файл с помощью команды VI

vi file.txt

Это откроет файл, затем нажмите ESC затем введите : wp и нажмите enter ключ. Это создаст новый файл с пустыми данными.

2
ARJUN KP

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

введите nul> (имя_файла). (тип_файла)

Например. Если вы хотите создать текстовый файл, то

введите nul> demo.txt

Если вы хотите создать файл JavaScript, то

введите nul> demo.js

2
Darshan Jain
  • создайте файл bat с содержимым echo '' > %1. (назовите файл как touch.bat)
  • добавьте папку в переменную PATH.
  • вы можете использовать сенсорный для создания файлов. (Например: touch temp.txt создает файл temp.txt)

проверьте эту статью для получения дополнительной информации.

2
Pranay Kumar

Попробуй это:

echo $null >> filename 

Смотрите: superUser

2
shireef khatab

Сегодня я обнаружил новый :)

Это изменит заголовок окна командной строки, но также создаст пустой файл.

title > file.txt
1
ninix

Вот еще один способ:

rem/ > file.ext

Косая черта / обязательна; без него часть перенаправления была закомментирована rem.

1
aschipfl

Запустите CMD в режиме адмистратора и введите:

NUL > file_name.extention

или вы печатаете это

echo .> file_name.extention
1
Lekens
echo.|set /p=>file

echo. подавить "Команда ECHO активирована"

|set /p= предотвратить новую строку (и файл теперь 0 байт)

0
131

Как пользователь VIM в Windows, мне не удалось найти ответ в этой ветке вопросов.

Как решение из этот поток , сначала установите gvim .
Во время установки не забудьте проверить опцию "Создать .bat файлы для командной строки", как показано ниже.

enter image description here

Некоторые файлы bat, такие как vim.bat и gvim.bat, будут установлены в C:\Windows . Добавьте C:\Windows в системный путь , если это еще не сделано.

Перезапустите cmd.exe и введите gvim empty_file.txt, вы запустите gvim для редактирования пустого файла с нуля. Если вы не хотите выходить из консоли "Командная строка", введите вместо нее vim empty_file.txt.

Надеюсь, что этот ответ может помочь тем, кто хочет запустить VIM из командной строки Windows при создании пустого файла.

0
Gearon

Сначала создайте свой файл, чтобы он существовал:

echo . > myfile.txt

Затем перезаписать созданный файл пустой версией с помощью команды copy:

copy /y nul myfile.txt
0
Dowopfan