2010-12-01 4 views
0

J'ai besoin de créer un fichier .cmd, et quand je l'exécute, ouvre cmd et montre tout ce que j'ai tapé dans le fichier. CommeComment faire CMD dire quelque chose?

(Bien sûr, cela est faux)

balayage ..... c:/windows balayage ..... c:/ balayage ..... Ports

etc, donc ça dit tout ce que je veux.

Aussi, est-il un moyen d'avoir un intervalle de quand il dit quelque chose?

Comme:

balayage ..... (5secs après) balayage ....

Est-ce possible? Si c'est le cas, comment?

Répondre

1

utilisez la commande echo.

Pour dilatoire:

n'a pas réussi à tester mais essayez d'utiliser la commande sleep.

+0

Exemple s'il vous plaît? – omnix

+0

Votre fichier bat: echo "test premier écho" sleep 10 echo "test second" –

2
echo textGoesHere 

ou

echo "Hey look, text" 

affichera le texte.

pause 

attendra que l'utilisateur appuie sur une touche et demande "appuyez sur n'importe quelle touche pour continuer".

sleep 5 

suspendra pendant 5 secondes. Cependant, à partir de Windows Vista, le mode de veille ne semble plus être inclus dans le jeu de commandes par défaut. Supposément ceci: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&displaylang=en contient le fichier sleep.exe dont vous avez besoin pour faire cela.

1

Une autre option est de ping localhost pendant 20 secondes:

@echo Off 
@echo "Scanning.... C:\Windows" 
ping 127.0.0.1 -n 20 > nul 
@echo "Scanning.... Ports" 

pause 
+0

Un hack, oui, mais devrait fonctionner dans toutes les versions de Windows (en supposant que le support TCP/IP est installé). – Piskvor

0

Si vous voulez avoir une barre de rotation, vous pouvez également prendre le script de mon site here

que ce lien apparaît ici est ce que tu peux faire. S'il vous plaît voir le lien (si elle se connecte en ligne encore une fois) ce qu'il s'agit de la ligne de fond. (Il contient 79 0x09 caractères qui ne pouvaient pas être saisis par un bloc-notes ordinaire)

@echo off 

:Scan 
echo Start Scan 
scan.exe parameter 
:Scanloop 
tasklist | find>nul "PING.EXE" & call :Spinner Scanning... || goto:end 
goto Scanloop 

:end 
cls 
echo This is the end 
pause>nul 

rem *************************************** 
rem * Spinner 
rem *************************************** 
:Spinner 
set backline= 
<nul (set/p z=[\] %*) 
<nul (set/p z=%backline%) 
ping>nul localhost -n 1 
<nul (set/p z=[^|] %*) 
<nul (set/p z=%backline%) 
ping>nul localhost -n 1 
<nul (set/p z=[/] %*) 
<nul (set/p z=%backline%) 
ping>nul localhost -n 1 
<nul (set/p z=[-] %*) 
<nul (set/p z=%backline%) 
ping>nul localhost -n 1 
goto :EOF 

Ce serait le script.

ping>nul -n 2 localhost 

attend environ. 1 seconde et

ping>nul -n 3 localhost 

attend environ 2 secondes. Ce n'est pas aussi précis que le sommeil, mais prend moins de ressources.

+1

Votre édition est un peu mieux, car il semble au moins maintenant que vous répondiez à la question posée. Cependant, votre réponse ne fonctionne pas (le commentaire en question revient immédiatement), et par le titre, votre lien ne semble pas répondre à la question. (le site semble être mort, aussi, btw) –

1

Ok, pour créer un .cmd/fichier .bat (Alias ​​fichier batch) dire quelque chose

Nous utilisons echo et la syntaxe est echo YOURTEXT Abd si vous voulez avoir des espaces entre: echo"YOUR TEXT" aussi simple que cela . Et pour ajouter une ligne vide: echo. (Eh oui, ajoutez le point sans espace)

Maintenant, pour le retard Je recommande la commande timeout et la syntaxe est: timeout /t "your time in seconds without quotation marks" Il y a aussi quelques options supplémentaires que vous pouvez ajouter: Si vous ne voulez pas que la commande affiche le texte "En attente de * secondes, appuyez sur une touche pour continuer" puis ajoutez >nul à la fin si toutes les options. Et si vous ne voulez pas permettre à quelqu'un d'appuyer sur une touche pour continuer, utilisez l'option /nobreak après /t et avant >nul si vous utilisez >nul

Et maintenant plus de choses

Vous pouvez changer la titre du fichier en utilisant title, la syntaxe est title "Titile you want to change to with quotations if you want spaces"

Vous pouvez également changer réellement la couleur de premier plan et arrière-plan, pour les instructions, le type color/? dans invite de commande

Vous ne pouvez pas laisser le fichier batch afficher "C: \ Users \ Yourname>" ou quoi que ce soit de ce genre en utilisant @echo off à la première phrase de tout le fichier batch.

Et vous pouvez également utiliser pause pour suspendre le fichier de continuer à fonctionner jusqu'à ce que n'importe quelle touche soit pressée. Et si vous ne voulez pas l'afficher "Appuyez sur n'importe quelle touche pour continuer", vous pouvez également ajouter >nul à l'arrière.

Pour effacer la page entière: cls

Ok, assez dit, est maintenant ici un exemple de fichier:

Color 02 Title Windows Scanner Echo. Echo ===================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo Press any key to start Basic Scan Pause>nul Cls Echo ===================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo Starting Scan... Timeout /t 5 /nobreak>nul Echo. Echo SCAN STARTED Timeout /t 8 /nobreak>nul Echo ... Timeout /t 3 /nobreak>nul Echo ... Timeout /t 6/nobreak>nul Cls Echo ===================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo SCAN RESULTS: Echo Nothing found Echo. Pause Echo THANKS FOR USING OUR SERVICE Echo. Pause Cls Echo ==================== Echo Windows Scanner Pro Echo v2.0 BETA Echo ===================== Echo. Echo Bye! Echo. Echo Press any key to exit Pause>nul Exit

C'est juste un exemple (et n'est pas une analyse réelle), vous peut éditer et faire plus de choses avec lui, vous pouvez même demander à l'utilisateur d'entrer le type de balayage qu'ils veulent! (Recherche google le demander à nouveau ou contactez-moi)

Questions connexes