Question Fichiers de commandes Windows 7: Comment écrire une chaîne dans un fichier texte sans retour chariot ET espace de fin?


J'essaie de faire en sorte que mon fichier de commandes écrive une chaîne de texte dans un fichier texte. Au début, la commande que j'utilisais écrivait un retour chariot supplémentaire à la fin de la chaîne, mais j'ai trouvé cette commande qui empêchait que:

echo|set /p=hello>hello.txt

Cependant, maintenant, il met un espace à la fin. j'ai besoin seulement la chaîne que je spécifie à écrire sans caractères supplémentaires. Est-ce possible?


4
2017-07-09 15:10


origine


Ne pas echo mystring>test.txt fais juste ça? - Sean C.
C'est comme ça que je le faisais avant d'ajouter un retour chariot à la fin. - oscilatingcretin
Impair; Je viens de le tester moi-même. Lorsque je l'ouvre dans vim, la sortie ne contient aucun saut de ligne ni espace après la chaîne. - Sean C.
Je l'ai juste testé dans une fenêtre de commande et le retour chariot est là quand je l'ouvre dans le Bloc-notes. - oscilatingcretin
Je me trompe à 100% à ce sujet. Pardon. - Sean C.


Réponses:


Cette commande devrait fonctionner exactement comme vous le souhaitez - écrivez seulement "hello", sans aucun symbole supplémentaire.

> echo|set /P ="hello" > foo

> dir foo
...
09.07.2012  19:25                 5 foo
               1 File(s)              5 bytes

On dirait exactement 5 symboles sans CR + LF pour moi.


9
2017-07-09 15:27



Oleg a raison. Le SET / P est conçu pour générer une question et accepter les entrées de l'utilisateur sur la même ligne. Il exclut donc automatiquement les sauts de ligne. le wc La commande compte en fait les caractères LF, elle doit donc afficher 0 si le saut de ligne est omis. Dans l'exemple d'Oleg, c'est vrai. - Sean C.
très bon! Travaillé génial! - oscilatingcretin
je ne suis pas sûr Pourquoi cela devrait fonctionner, mais j'ai trouvé que cela ne fonctionnait pas pour les espaces. Quelqu'un a une idée de ce que je peux faire sur la gauche? - will