web-dev-qa-db-fra.com

Windows: dans un fichier batch, écrire plusieurs lignes dans un fichier texte?

Comment puis-je effectuer les opérations suivantes dans un fichier de commandes Windows?

  1. Écrire dans un fichier appelé subdir/localsettings.py
  2. Écraser tout le contenu existant ...
  3. ... avec plusieurs lignes de texte ...
  4. ... y compris une chaîne qui est "[répertoire de travail actuel]/subdir" (qui je pense pourrait être %cd%/subdir?)

Veuillez noter que je veux le faire dans le cadre d'un script de traitement par lots, donc je ne peux pas utiliser con + Entrée (au moins, peut-être que je peux, mais je ne sais pas comment simuler Entrée dans le cadre d'un script batch).

Merci!

28
Steve333

Utiliser la redirection de sortie > et >>

echo one>%file%
echo two>>%file%
echo three>>%file%

Ou d'une manière plus lisible: (Dans cmd.exe, en utilisant "echo one >%file% "inclurait l'espace avant >.)

>%file%  echo one
>>%file% echo two
>>%file% echo three

Vous pouvez également utiliser:

(
    echo one
    echo two
    echo three
) >%file%
52
grawity
echo Line 1^

Line 2^

Line 3 >textfile.txt

Notez les doubles retours à la ligne pour forcer la sortie:

Line1
Line2
Line3

Également:

(echo Line 1^

Line 2^

Line 3)>textfile.txt
4
access_granted