8
votes

Écho dans la même ligne

J'ai regardé les questions précédentes de votre DB et je n'ai pas essayé de réponse, mais j'essaie.

Je voudrais écrire le code des lignes suivant: P>

Executing backup... Ok


2 commentaires

Quel système d'exploitation êtes-vous sur?


Oui, Windows Server 2003, j'ai oublié ...


5 Réponses :


5
votes

Essayez ceci sur le système POSIX (Linux)

@echo off
echo|set /p ="Executing backup...."
echo|set /p =" backup procedure"


2 commentaires

@Piotr Czapla - Je ne crois pas que chaque ensemble (l'exemple de Windows) est requis, ou au moins il semble fonctionner de la même manière sans. Cependant, en essayant de les supprimer, quelqu'un a empêché la modification, alors peut-être que c'est faux Stackoverflow. com / questions / 13665411 / ... . Pouvez-vous conseiller le besoin de / 'S?


Le tuyau crée de nouvelles instances CMD.EXE est mentionnée à d'autres questions liées (voir ma réponse)



1
votes

C'est un peu de hack, mais voici un article décrivant comment le faire pour Windows.

de l'article, le résultat final (édité à votre configuration) ressemble à ceci: xxx


0 commentaires

10
votes

Je suppose que vous utilisez DOS / NT-BATCH.

Il est possible avec la commande SET / P, car SET / P n'imprime pas un CRLF P>

for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"


9 commentaires

Le premier exemple que vous avez écrit fonctionne parfaitement. Quel est le signe



Mettre set / p "= Sauvegarde d'exécution ...." ) semble fonctionner de la même manière et n'aurait pas (au moins) m'a jeté si je Je l'ai vu dans cette position, j'ai suggéré une modification à ce poste.


@JEB - Intéressant (!) Exemple d'exemple. Bien que je puisse suivre la majeure partie de cela, pas sûr de quelques objets - 1) une fois les commandes de traitement post l'étiquette Createec, comment retourner la commande post l'appel à l'étiquette Creeecr, 2) Qu'est-ce que contient dans le Var CR Cela provoque la sortie suivante / P pour ne pas s'asseoir à côté de la précédente. Je pense que je peux voir que le réglage de la boucle pour X Tout simplement augmente de manière exponentielle le nombre de. En% Temp% \ cr.tmp, mais ne vois pas comment le \ et l'utiliser comme le délimiteur dans la prochaine boucle fonctionne . Peut-être une étape complète à pas à pas serait appréciée par d'autres?


@ user66001 1) a goto: eof fonctionne comme un retour ici 2) J'appuie une explication


PS semble appeler et goto a ajouté une fonctionnalité lorsque SetLocal Enableextexsions est utilisé (Microsoft.com/resources/documentation/windows/XP/all/Proddo CS / ... & Microsoft.com/resources/documentation/windows/XP/all/proddoc s / ...)


DOSSIPS.COM a été utile pour déterminer ce que je pouvais du code très rusé de DEB


@JEB - En outre, 1) est "REM SETLOCAL ENCENTELAYEDELEDEXIVANCELAYEDEXPANSIONEEXTENSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONSIONS" DIFFICILE ", 2) Comment la manipulation de chaîne crée-t-elle 8188 points, lorsque (je devine) la manipulation de chaîne d'expression expansée de 0, à 4094 répète le. par 4094 x 2, mais la boucle est en cours d'exécution 13 fois?, 3) À quelle usine utilise-t-elle dans ce but? 4) ne peut pas% temp% \ cr.tmp contenir simplement <8188. code> dans le deuxième jeton, 5) Le Set Cr = ou set / p ou quelque chose d'autre , supprimez le dernier CR / LF comme terminaison standard?


6) Après avoir lu ce qui précède, je peux comprendre le goto: eof n'est pas indenté, mais pas le ¿extra? une dans la boucle pour la boucle, aussi sûrement que cela ferait la sortie du fichier de commandes (les deux personnes ayant parlé d'être requises dans l'URL ci-dessus, sans la finale en dessous de l'ensemble / p? 7), il devrait y avoir un test pour s'assurer de Var CR N'existe pas déjà, pour prévenir les loisirs non incessusés de celui-ci? 8) Qu'est-ce qui est contenu dans le VaR CR qui provoque la sortie de la sortie suivante / p pour ne pas vous asseoir à côté de la précédente (c'est-à-dire renvoyer le curseur au début de la ligne?



0
votes

J'ai fait quelque chose de similaire à l'aide d'un VBScript.

Mettez ce code dans echononewline.vbs : xxx

à partir de votre fichier de commandes , utilisez le script comme celui-ci: xxx


0 commentaires

-1
votes

à Que fait une barre avant avant un tuyau de CMD pour supprimer la fin de la ligne d'un écho? La meilleure suggestion est:

Pour écho texte sans ligne de ligne est très inefficace, car un tuyau crée deux nouvelles instances de cmd.exe. C'est beaucoup plus simple et plus rapide d'utiliser xxx

La redirection de NUL arrêtera également l'attente de l'entrée de l'utilisateur.


4 commentaires

Parce que vous avez quatre ans de retard et avez exactement la même solution que la réponse acceptée.


es-tu sérieux? Cette réponse que j'ai envoyée ici est d'un autre fil. La réponse acceptée ici est un très long texte à la place


Qui redirige set / p sur nul dans le premier bloc de code. Alors oui, c'est la même solution.


ouais sûr, avec une tonne d'autres textes - de toute façon, j'étais surtout intéressé par les informations sur le comportement du tuyau là quand j'avais collé-collé ce texte