2010-12-01 3 views
0

Ich muss eine .cmd-Datei erstellen, und wenn ich es ausführe, öffnet cmd und zeigt dann, was auch immer ich in der Datei eintippte. WieWie man CMD etwas sagen lassen?

(Natürlich ist dies eine Fälschung ist)

Scanning ..... c:/windows Scanning ..... c:/ Scanning ..... Ports

etc, so sagt es, was ich will.

Gibt es auch eine Möglichkeit, ein Intervall zu haben, wenn es etwas sagt?

Like:

Scanning ..... (5secs nach) Scanning ....

Ist das möglich? Wenn das so ist, wie?

Antwort

1

Verwenden Sie echo Befehl.

Für verzögernde:

gescheitert zu testen, aber versuchen sleep Befehl zu verwenden.

+0

Beispiel bitte? – omnix

+0

Ihre Fledermaus-Datei: Echo "Test erste Echo" Schlaf 10 Echo "Test Sekunde" –

2
echo textGoesHere 

oder

echo "Hey look, text" 

ausgeben wird der Text.

pause 

warten auf den Benutzer, um eine Taste zu drücken und mit "drücken Sie eine beliebige Taste, um fortzufahren".

sleep 5 

wird für 5 Sekunden pausiert.

Ab Windows Vista scheint der Ruhezustand jedoch nicht mehr in den Standardbefehlen enthalten zu sein. Angeblich das: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&displaylang=en enthält die sleep.exe-Datei, die Sie dazu benötigen.

1

Eine weitere Option ist die localhost für 20 Sekunden ping:

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

pause 
+0

Ein Hack, ja, sollte aber in allen Versionen von Windows funktionieren (vorausgesetzt TCP/IP-Unterstützung ist installiert). – Piskvor

0

Wenn Sie eine Spinn bar haben wollen Sie auch das Skript von meiner Seite hier nehmen here

als Link erscheint unten ist was du machen kannst. Bitte lesen Sie den Link (wenn es wieder online geht) was es mit der Backline zu tun hat. (Es enthält 79 0x09 Zeichen, die von einem normalen Notizblock konnte nicht eingegeben)

@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 

Dies würde das Skript sein.

ping>nul -n 2 localhost 

wartet ca. 1 Sekunde und

ping>nul -n 3 localhost 

wartet ca. 2 Sekunden. Es ist nicht so genau wie Schlaf, aber benötigt weniger Ressourcen.

+1

Ihre Bearbeitung ist ein bisschen besser, als es zumindest jetzt scheint, als ob Sie die gestellte Frage beantworten. Ihre Antwort funktioniert jedoch nicht (der fragliche Kommentar wird sofort zurückgegeben), und durch den Titel scheint Ihr Link die Frage nicht zu beantworten. (Die Seite scheint auch tot zu sein, übrigens) –

1

Ok, eine .cmd/.bat Datei (AKA Batch-Datei) zu erstellen, etwas zu sagen

Wir verwenden echo und die Syntax ist echo YOURTEXT Abd, wenn Sie Zwischenräume haben wollen: echo"YOUR TEXT" so einfach wie das . Und eine Leerzeile hinzuzufügen: echo. (Yup, fügen Sie den Punkt ohne Leerzeichen)

Jetzt für die Verzögerung Ich empfehle den timeout Befehl, und die Syntax ist: timeout /t "your time in seconds without quotation marks" Es gibt auch einige zusätzliche Optionen, die Sie hinzufügen können: Wenn Sie nicht möchten, dass der Befehl den Text "Warten auf * Sekunden anzeigt, drücken Sie eine Taste, um fortzufahren", fügen Sie am Ende alle Optionen >nul hinzu. Und wenn Sie nicht wollen, jemand erlauben, eine beliebige Taste drücken, um die Option fortzusetzen, verwenden Sie /nobreak nach /t und vor >nul wenn Sie mit >nul

Und jetzt mehr Material

Sie können das ändern Titel der Datei durch title verwenden, ist die Syntax title "Titile you want to change to with quotations if you want spaces"

Sie können auch tatsächlich die Farbe Vorder- und Hintergrund ändern, um Anweisungen, geben Sie color/? in Eingabeaufforderung

Sie können die Stapeldatei tatsächlich nicht "C: \ Users \ Yourname>" oder etwas Ähnliches vor einem Befehl anzeigen lassen, indem Sie @echo off im ersten Satz der gesamten Stapeldatei verwenden.

Sie können auch pause verwenden, um die Datei so lange anzuhalten, bis eine beliebige Taste gedrückt wird. Und wenn Sie nicht möchten, dass "Zum Fortfahren irgendeine Taste drücken" angezeigt wird, können Sie auch >nul auf der Rückseite hinzufügen.

die ganze Seite zu löschen: cls

Ok, genug gesagt, ist jetzt hier eine Beispieldatei:

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

Das ist nur ein Beispiel (und ist kein echter Scan), Sie kann bearbeiten und mehr Sachen damit machen, Sie können sogar den Benutzer bitten, die Art des gewünschten Scans einzugeben! (Suche google it frag es nochmal oder kontaktiere mich)