2010-11-24 15 views
7

Je souhaite créer un fichier à partir d'un fichier batch. Je peux utiliser le echo. > donald.txt, mais il le crée avec une ligne vide initiale. Quoi d'autre que je peux utiliser pour un fichier à partir de la première ligne?Création d'un fichier vide à partir d'un fichier batch

+0

révision: .... ligne vide ... – aemme

+0

Encore un peu confus sur ce qu'est le problème? À partir de la première ligne ... pouvez-vous clarifier cela? –

+0

Pour aider les recherches futures, ** fichier vide ** est également associé à ** fichier vide **. – DavidRR

Répondre

23

Vous voulez juste créer un fichier complètement vide? Cela fera:

copy /y nul donald.txt 

Si vous cherchez à écrire quelque chose à première ligne, vous voulez quelque chose comme ceci:

echo Hello, World > donald.txt 
+0

Merci beaucoup, bonjour monde !!! – aemme

0

Si vous utilisez PowerShell:

function touch {set-content -Path ($args[0]) -Value ($null) } 
touch file-name 

Source: http://blog.lab49.com/archives/249.

+3

Urgh, c'est une manière maléfique de définir une commande 'touch'. N'oubliez pas que 'touch' n'est pas seulement utilisé pour créer des fichiers vides, mais aussi pour mettre à jour l'horodatage d'un fichier existant. Mieux vaut ne pas utiliser un nom qui a déjà plusieurs usages ;-). Conformément à la terminologie de PowerShell, cela devrait probablement s'appeler 'New-Item'. Mais attendez ... cela existe déjà. 'New-Item foo.txt -Type File' (ou' ni -t f foo.txt' si vous l'aimez plus court). Donc, c'est probablement une non-solution à quelque chose qui peut être fait plus facilement avec les outils déjà là. – Joey

0

C'est parce que echo. insère une ligne vide dans votre fichier.

Essayez d'utiliser le même code, mais sans la période jointe à la fin de la déclaration echo:

echo "Test string" > donald.txt 
+0

S'ils veulent un fichier vide, ils ne veulent certainement pas que le fichier lise "Test string" (même en incluant les guillemets). – Joey

+0

@Joey: J'ai interprété "Qu'est-ce que je peux utiliser d'autre pour un fichier à partir de la première ligne?" En d'autres termes, ils voulaient écrire du texte dans le fichier, mais ils voulaient qu'il apparaisse sur la première ligne du fichier, plutôt que sur le second avec une ligne vide en haut. –

+0

Ah, d'accord. La question était en effet un peu trouble. – Joey

6

L'une des options est

@echo off 
rem Don't destroy an existing file 
if exist testfile goto _nocreate 
:: Create the zero-byte file 
type nul>testfile 
:_nocreate 

Originaire de http://www.netikka.net/tsneti/info/tscmd041.htm qui contient des méthodes supplémentaires .

0

Dans les vieux jours MS-DOS j'ai utilisé cette méthode pour créer un fichier vide:

rem > empty.txt 

Dans ce nouveau Windows ne fonctionne plus, mais rem peut être remplacé par une commande qui montrent rien. Par exemple:

cd . > empty.txt