J'essaie d'exécuter une commande cmd.exe
, avec un saut de ligne ou une nouvelle ligne dans le cadre de la commande, comme ci-dessous:
command -option:text
whatever
Mais chaque nouvelle ligne exécute la commande, au lieu de continuer la commande sur la ligne suivante.
Alors, comment puis-je entrer un nouveau caractère de ligne ou créer une commande multiligne dans cmd.exe?
windows
command-line
newlines
rudimenter
la source
la source
Réponses:
Utilisez le
^
personnage comme évasion:Je suppose que vous utilisez cmd.exe de Windows XP ou similaire. Ce n'est pas un DOS réel. Si vous utilisez un DOS réel (MS-DOS, Win3.1, Win95, Win98, WinME), je ne pense pas qu'il y ait une fuite pour les retours à la ligne. Vous devez exécuter un shell personnalisé. cmd.exe vous demandera "Plus?" chaque fois que vous appuyez sur Entrée avec un
^
à la fin de la ligne, il vous suffit d'appuyer de nouveau sur Entrée pour réellement échapper / intégrer une nouvelle ligne.la source
SHUTDOWN.EXE
commande. J'ai fini par utiliser quelque chose comme ça:shutdown -s -t 900 -c "foo bar"^
> Plus?"baz"^
> Plus?"test that."
Ça a marché.Utilisez les codes Alt avec le pavé numérique
Ce caractère de saut de ligne peut être entré sous la forme d'un code Alt sur la CLI à l'aide du pavé numérique: avec NumLock activé, maintenez enfoncée la touche ALT et tapez 10 sur le pavé numérique avant de relâcher ALT. Si vous avez également besoin du CR, saisissez-les tous les deux avec Alt + 13 puis Alt + 10:
♪◙
Remarque: cela ne fonctionnera pas dans un fichier batch.
Exemple d'utilisation:
Vous essayez de lire les variables d'environnement% PATH% ou% CLASSPATH% pour obtenir un aperçu rapide de ce qu'il y a et dans quel ordre - mais le mur de texte qui
path
retourne est illisible. Ensuite, c'est quelque chose que vous pouvez saisir rapidement:Éditer:
Ajout de la
>con
solution de contournement découverte par Brent Rittenhouse pour les nouvelles versions de cmd.exe, où la méthode d'origine avait cessé de fonctionner.la source
e2 99 aa e2 97 99
passé. Une sorte de point de code unicode? Je vois quand même les personnages sur la ligne de commande. Aucune suggestion?Use legacy console
case. Mais ça a l'air vraiment mauvais sur un moniteur haute résolution.(echo New-line detected rigghhhtt ◙^<--- HERE!) > CON
les parenthèses environnantes sont facultatives. Voici un exemple plus robuste de ce que vous pouvez faire avec cela (ET les retours chariot qui fonctionnent maintenant, et de manière complètement indépendante!): I.imgur.com/qqN37PH.pngJe ne sais pas si cela fonctionnera pour vous mais en mettant & echo (l'espace suivant est important). entre chaque déclaration que vous souhaitez sur une nouvelle ligne. J'ai seulement essayé avec un simple fichier de chauve-souris de
Ensuite, enregistré en tant que testNewLines.bat
Alors la ligne cmd
Le résultat suivant a été renvoyé en écho
première ligne
deuxième ligne
troisième ligne
la source
En développant la réponse d'Amit ( /superuser//a/1132659/955256 ), j'ai trouvé un moyen de le faire dans n'importe quelle police SANS utiliser la console héritée.
Tout ce que vous avez à faire est simplement de répéter la ligne avec des caractères alt-10, puis de la rediriger vers
con
et cela fonctionnera!Par exemple, étant donné:
edit: Fait amusant, il semble que vous pouvez mettre la redirection au début comme ceci:
Bizarre, hein?
Vous obtiendrez une sortie de:
(Les parenthèses environnantes sont facultatives.)
Voici un exemple plus robuste de ce que vous pouvez faire avec ces retours chariot ET qui fonctionnent maintenant, et de manière complètement indépendante!:
Mieux encore, cela fonctionne si vous redirigez également vers un fichier!
(changez simplement
> CON
en> desired_output_file.txt
Prendre plaisir!
la source
Les sorties de ^ sont enregistrables
exemple:
; production:
la source
Je pense que vous ne pouvez pas faire cela à partir du
cmd.exe
shell Windows . ( Ce n'est pas DOS. )Vous n'avez pas besoin d'un "shell personnalisé" complet pour cela. Vous aurez seulement besoin d'écrire quelque chose comme ça (exemple en Python ):
Ou Ruby:
Vous voyez, ce n'est pas si difficile.
la source