it-swarm.it

Come creare un file vuoto sulla riga di comando in Windows?

Come creare un file vuoto alla riga di comando DOS/Windows?

Provai:

copy nul > file.txt

ma mostra sempre che un file è stato copiato.

C'è qualche altro metodo nel cmd standard?

Dovrebbe essere un metodo che non richiede il comando touch di Cygwin o altri comandi non standard. Il comando deve essere eseguito da uno script in modo che le sequenze di tasti non possano essere utilizzate.

440
Grendler

Senza reindirizzamento, Luc Vu o Erik Konstantopoulospointout a:

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

" Come creare un file di testo vuoto da un file batch? " (2008) punta anche a:

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

Nomad menzioni originale :

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

Nello stesso spirito, Samuel suggerisce nei commenti :

il più corto che uso è fondamentalmente quello di Nomad:

.>out.txt

Dà un errore:

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

Ma questo errore è su stderr. E > reindirizza solo stdout, dove niente è stato prodotto.
Da qui la creazione di un file vuoto. Il messaggio di errore può essere ignorato qui.


(Risposta originale, novembre 2009)

echo.>filename

(echo "" potrebbe effettivamente mettere "" nel file! E echo senza il "." metterebbe "Command ECHO activated" nel file ...)

Nota: il file risultante non è vuoto ma include una sequenza di ritorno: 2 byte.


Questo discussion indica una vera soluzione batch per un vero file vuoto:

 <nul (set/p z=) >filename

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

"<nul" convoglia una risposta nul al comando set/p, che farà sì che la variabile rimanga invariata. Come al solito con set/p, la stringa a destra del segno di uguale viene visualizzata come Prompt senza CRLF.

Poiché qui la "stringa a destra del segno di uguale" è vuota ... il risultato è un file vuoto.


La differenza con cd. > filename (che è menzionata in la risposta di Patrick Cuff e produce anche un file di lunghezza di 0 byte) è che questo "bit di reindirizzamento" (il trucco <nul...) può essere usato per echo lines senza alcun CR :

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

Il comando dir dovrebbe indicare la dimensione del file come 12 byte: "hello world!".

510
VonC

Prova questo:

type NUL > 1.txt

questo creerà sicuramente un file vuoto.

253
Justin

Ecco un altro modo:

cd. > filename
94
Patrick Cuff

Se vuoi veramente un file completamente vuoto, senza output sullo stdout, puoi imbrogliare un po ':

copy nul file.txt > nul

Basta reindirizzare lo stdout su null, e l'output della copia scompare.

74
qid

Apri il file :

type file.txt

Nuovo file :

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

Modifica contenuto:

notepad file.txt

Copia

copy file1.txt file1Copy.txt

Rinomina

rename file1.txt file1_rename.txt

Cancella il file :

del file.txt
43
iCrazybest

Leggendo i commenti sul mio post, devo ammettere che non ho letto correttamente la domanda.

Sulla riga di comando di Windows, un modo sarebbe utilizzare fsutil :

fsutil file createnew <filename> <size>

Un esempio:

fsutil file createnew myEmptyFile.txt 0

Di seguito è riportata la riga di comando * nix.

touch filename

Questo comando modifica la data di modifica di un file o lo crea se il file non viene trovato.

31
nash
echo "" > filename

Credo che questo funzioni su Windows/DOS, ma la mia ultima esperienza pratica con entrambi è un po 'di tempo fa. So per certo che funziona praticamente su qualsiasi POSIX OS compatibile.

25
Kris
call>file.txt

questo è il modo più pulito che conosco.

21
nephi12

Puoi scrivere il tuo tocco personale.

//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 

ha funzionato durante la creazione di un file in C:/Programmi in cui non si ha accesso diretto alla creazione di file.

7
Hydrogirl

copia con SomeFile.txt Enter

Ctrl-ZEnter

6
DRapp

Ancora un altro metodo che crea un file a zero byte:

break > "file.txt"
5
foxidrive

Usa copy > your_file_name.extension nel comando Chiedi come

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

Prova questo: abc > myFile.txt In primo luogo, creerà un file con nome myFile.txt nella directory di lavoro corrente (nel prompt dei comandi). Quindi eseguirà il comando abc che non è un comando valido. In questo modo, hai ottenuto un nuovo file vuoto con il nome myFile.txt.

5
Nomad

Puoi usare il vecchio comando

copy con file_name.ext

non digitare nulla, basta premere F6 per salvarlo, tuttavia verrà stampato "File copiato", ma quando si apre il file, sarà vuoto

4
Amado Saladino

Puoi anche usare:

echo. 2>foo

L'output di debug per echo. sarà quasi sicuramente vuoto.

4
Craig

type nul>filename creerà un nuovo file vuoto.

Scusa sono in ritardo.

UPDATE: Anche copy nul filename funziona senza reindirizzamento (soluzione più ovvia).

4
EKons

quindi puoi creare un file vuoto con

'' > newfile.txt

accedere alla directory e digitare il comando precedente nella finestra di PowerShell.

Nota che questo non funzionerà sul prompt dei comandi di Windows.

3
Aswin 1054

Questo ha funzionato per me,

echo > file.extension

Ecco un altro modo che ho trovato oggi, ottenuto idee da altre risposte, ma ha funzionato

sometext > filename.extension

Per esempio.

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

Questo mostrerebbe un messaggio di errore nel comando Prompt che,

xyz non è un comando interno o esterno, un programma eseguibile o un file batch.

Ma la cosa strana che ho trovato è che il file viene creato nella directory anche se il comando non è un comando standard di Windows.

3
Lucky

Su Windows Ho provato a farlo

echo off > fff1.txt

e ha creato un file denominato fff1.txt con dimensione del file di 0kb

Non ho trovato nessun altro comando che potesse creare un file vuoto.

Nota: devi essere nella directory in cui desideri creare il file.

3
Omkar Agrawal

Ancora un altro modo:

copy nul 2>empty_file.txt
3
GadBro

Ho appena provato in Windows

copy con file.txt

quindi premere Enter Chiave quindi premere Ctrl+ZEnter

E ha funzionato per me.

Per Ubuntu di solito sto creando un file usando il comando VI

vi file.txt

Si aprirà il file quindi premere ESC quindi digita : wp quindi premi enter chiave. Creerà un nuovo file con dati vuoti.

2
ARJUN KP
  • creare un file bat con contenuto echo '' > %1. (assegna un nome al file come touch.bat)
  • aggiungi la cartella alla variabile PATH.
  • puoi usare touch per creare file. (Es: touch temp.txt crea il file temp.txt)

controlla questo articolo per maggiori informazioni.

2
Pranay Kumar

Prova questo:

echo $null >> filename 

Vedi: superUser

2
shireef khatab

Leggo molti thread ma non è il modo più breve.

Si prega di utilizzare il comando:

>copy /b NUL empty_file.txt

2
suhao399

Oggi ne ho scoperto uno nuovo :)

Questo cambierà il titolo della finestra della riga di comando, ma creerà anche un file vuoto.

title > file.txt
1
ninix

Ecco un altro modo:

rem/ > file.ext

La barra / è obbligatoria; senza di esso la parte di reindirizzamento è stata commentata da rem.

1
aschipfl

Per creare qualsiasi tipo di file puoi usare il seguente codice

digita nul> (nome_file). (tipo_file)

Per esempio. Se si desidera creare un file di testo, quindi

digita nul> demo.txt

Se si desidera creare un file javascript, quindi

digita nul> demo.js

1
Darshan Jain

Esegui CMD in modalità admistrator e digita:

NUL > file_name.extention

o tu scrivi questo

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

echo. sopprime "Comando ECHO attivato"

|set /p= impedisce newline (e il file ora è 0 byte)

0
131

Come utente VIM su Windows, non sono riuscito a trovare la risposta in questa domanda.

Come soluzione da questa discussione , per prima cosa installa gvim .
Durante l'installazione, ricorda di selezionare l'opzione "Crea file .bat per l'utilizzo da riga di comando" come mostrato sotto.

 enter image description here

Alcuni file bat come vim.bat e gvim.bat verranno installati sotto C:\Windows . Aggiungi C:\Windows a system Path se non è stato fatto.

Riavvia il cmd.exe e digita gvim empty_file.txt, lancerai gvim per modificare da zero il file vuoto. Se non vuoi lasciare la tua console "Prompt dei comandi", digita invece vim empty_file.txt.

Spero che questa risposta possa aiutare coloro che desiderano avviare VIM dal Prompt dei comandi di Windows durante la creazione di un file vuoto.

0
Gearon

Prima crea il tuo file in modo che esista:

echo . > myfile.txt

Quindi sovrascrivi il file creato con una versione vuota usando il comando copy:

copy /y nul myfile.txt
0
Dowopfan