Как создать пустой файл в командной строке в Windows?
Как создать пустой файл в командной строке DOS или Windows?
пробовал:
copy nul > file.txt
но он всегда показывает, что файл был скопирован.
есть ли другой метод в стандартном cmd?
Это должен быть метод, который не требует touch команда Cygwin или любые другие нестандартные команды. Команду нужно запускать скрипт так клавиши использовать нельзя.
30 ответов
без например, Люк Вю или Ерик Константопулоса точка из в:
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
" трубы anul
ответ наset/p
команда, которая вызовет переменная останется неизменной. Как обычно, сset/p
в строку справа от знака равенства отображается приглашение без CRLF.
поскольку здесь" строка справа от знака равенства " пуста... в результате получается пустой файл.
разница с cd. > filename
(который упоминается в ответ Патрика Каффа и также создает файл длиной 0 байт) заключается в том, что этот " бит перенаправление " (the <nul...
trick) можно использовать для Эхо-линии без каких-либо CR:
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
команда dir должна указывать размер файла как 12 байт:"
hello world!
".
Если вы действительно хотите абсолютно пустой файл, без вывода на stdout, вы можете немного обмануть:
copy nul file.txt > nul
просто перенаправьте stdout на nul, и вывод из копии исчезнет.
открыть файл :
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 file1.txt file1Copy.txt
переименовать
rename file1.txt file1_rename.txt
удалить файл :
del file.txt
читая комментарии к моему сообщению, я должен признать, что не прочитал вопрос правильно.
в командной строке Windows одним из способов было бы использовать fsutil:
fsutil file createnew <filename> <size>
пример:
fsutil file createnew myEmptyFile.txt 0
ниже для командной строки *nix.
touch filename
эта команда меняет дату изменения файла или создает его, если файл не найден.
echo "" > filename
Я считаю, что это работает на Windows/DOS, но мой последний опыт с или совсем недавно. Я точно знаю, что он работает в основном на любом POSIX совместимых ОС.
вы можете написать свой собственный штрих.
//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;
}
cd > filename.cfg
работал при создании файла в C:/Program файлы, к которым у вас нет доступа для непосредственного создания файлов.
попробуйте это :abc > myFile.txt
Во-первых, он создаст файл с именем myFile.txt
в текущем рабочем каталоге (в командной строке). Затем он запустит команду abc
которая не является допустимой командой. Таким образом, вы получили новый пустой файл с именем myFile.txt
.
type nul>filename
создаст новый пустой файл.
Извините, я опоздал.
обновление: и copy nul filename
работает без перенаправления (более очевидное решение).
вы можете использовать старую команду
copy con file_name.ext
ничего не вводите, просто нажмите F6, чтобы сохранить его, однако он будет печатать "файл скопирован", но когда вы откроете файл, он будет пуст
это сработало для меня,
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.
Я читал много потоков, но это не самый короткий путь.
пожалуйста, используйте команду:
>copy /b NUL empty_file.txt
просто я пробовал в windows
copy con file.txt
нажмите клавишу Enter нажмите клавишу Ctrl+Z Enter
и это сработало для меня.
для Ubuntu обычно я создаю файл с помощью команды VI
vi file.txt
Он откроет файл, затем нажмите ESC
На Windows Я пытался сделать это
echo off > fff1.txt
и он создал файл с именем fff1.txt С размером файла 0kb
Я не нашел других команд, кроме этой, которые могли бы создать пустой файл.
Примечание: Вы должны быть в папке, которую вы хотите создать файл.
Так что вы можете создать пустой файл с
'' > newfile.txt
перейдите в каталог и введите вышеуказанную команду в окне PowerShell.
Примечание это не будет работать в командной строке Windows.
сегодня я обнаружил новый:)
это изменит заголовок окна командной строки, но также создаст пустой файл.
title > file.txt
запустите CMD в режиме admistrator и введите следующее:
NUL > file_name.extention
или вы вводите это
echo .> file_name.extention
вот еще один способ:
rem/ > file.ext
Слэш /
является обязательным; без него часть перенаправления была прокомментирована rem
.
- создать файл bat с содержимым
echo '' > %1
. (назовите файл touch.летучая мышь) - добавить папку в переменную PATH.
- вы можете использовать touch для создания файлов. (Пример:
touch temp.txt
создает temp.txt файл)
Регистрация этой статьи для получения дополнительной информации.
сначала создайте свой файл, чтобы он существовал:
echo . > myfile.txt
затем перезапишите созданный файл пустой версией с помощью :
copy /y nul myfile.txt
echo.|set /p=>file
echo.
подавить "команда Эхо активирована"
|set /p=
предотвратить новую строку (и файл теперь 0 байт)