Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - Wenn nichts geschrieben dann aktualisieren

Frage Entwicklung Batch & Shell

Mitglied: Retschef

Retschef (Level 1) - Jetzt verbinden

14.05.2010 um 17:54 Uhr, 3382 Aufrufe, 14 Kommentare

Hi Community ,

Vorneweg:
Ich habe hier im Fourm schon viele Fragen nachgeschaut.
Es ist echt sehr hilfreich hier und es ist echt gut das einem immer geholfen wird.

Nun habe ich aber eine Frage die (hoffentlich) noch nicht beantwortet wurde.
Und zwar habe ich folgendes Problem:

Ich will das wenn man "nichts" (nicht das Wort nichts) bei dieser Benutzereingabe:

set /p var="nichts"

eingibt das eine Aktion ausgeführt wird.
Es soll jede Sekunde überprüft werden ob etwas eingegeben wurde.

Also wenn Batch warten soll macht man das ja mit :

ping -n 2 127.0.0.1>nul

das weiß ich schon. Nur wie verbindet man das?
Oder wird das anders gemacht?

Ist das mit batch überhaupt möglich?

Ich hoffe es war verständlich.
Danke schonmal für die Hilfe

MFG
Retschef
Mitglied: 60730
14.05.2010 um 18:04 Uhr
Servus,

ich verstehe deine Frage nicht so ganz, denn /p wartet doch eh, bis etwas mit einem abschliessenden Return eingegeben wurde.
Das 1 sekunde "warten" ist also eher - wenn ich dich richtig verstanden habe - sinnbefefreit.

01.
:var 
02.
set /p var="nichts" 
03.
if  "%var%" == "" goto var
Gruß
Bitte warten ..
Mitglied: rubberman
14.05.2010 um 18:05 Uhr
Hallo Retschef,

willkommen im Forum.

SET /P wartet auf eine Benutzereingabe, in der Zwischenzeit läuf der Batch nicht weiter. Das bedeutet, so einfach wird das nicht. Erkläre doch mal, was du damit vorhast. Mglw. gibt es eine andere Alternative.


Grüße
rubberman
Bitte warten ..
Mitglied: Retschef
14.05.2010 um 18:11 Uhr
Hi,

Habe ich mich wohl nicht gut ausgedrückt.^^

Gut, ich wollte eben das es NICHT unendlich wartet sondern nach 2 sekunden merkt das nichts eingegeben wurde.
Dann soll es eine Aktion ausführen.

Aber anscheinend geht das mit diesem code nicht.
Hoffe ihr habt jetzt verstanden was ich meine.

-"Mglw. gibt es eine andere Alternative."
Ich hoffe doch.

MFG
Retschef
Bitte warten ..
Mitglied: rubberman
14.05.2010 um 18:18 Uhr
Hallo Retschef,

da leider immer noch nicht klar ist, WOZU du so etwas benötigst, kann ich vorerst nur den CHOICE - Befehl in den Raum werfen. Hier kannst du einen Defaultwert festlegen, der nach einer bestimmten Wartezeit übernommen wird. Geht aber nur mit einem einzelnen Character.

Grüße
rubberman
Bitte warten ..
Mitglied: bastla
14.05.2010 um 18:31 Uhr
Hallo Retschef und willkommen im Forum (und natürlich: Hi Timo und rubberman)!

Auch ich würde es für sinnvoll halten, Dein Vorhaben etwas ausführlicher zu beschreiben ...

Bis dahin noch eine andere, allerdings noch weiter eingeschränkte und auch nicht so richtig hybsche Möglichkeit: eine VBS-Krücke der Art
01.
@echo off & setlocal 
02.
set G=%temp%\GetAnswer.vbs 
03.
>%G% echo WScript.Echo WScript.CreateObject("WScript.Shell").Popup("Soll die ...-Aktion ausgeführt werden?",2,"Ihre Entscheidung",vbYesNo+vbQuestion) 
04.
for /f %%i in ('cscript //nologo %G%') do set Wahl=%%i 
05.
if %Wahl%==-1 echo Keine Antwort ist auch eine Antwort ... 
06.
if %Wahl%==6 echo OK, machen wir's ... 
07.
if %Wahl%==7 echo Na gut, dann nicht ...
(Eigentlich einziger) Vorteil dieser Variante wäre, dass Du mit Bordmitteln auskommen kannst ...

Grüße
bastla
Bitte warten ..
Mitglied: Retschef
14.05.2010 um 19:01 Uhr
Also gut ich versuchs nochmal diesmal vlt. mit etwas mehr Kontext ^^

Es soll so laufen:

1. Ich schreibe etwas mit dem "set /p" in die Batch.
2. Dies wird dann mit "echo >>" in eine Textdatei geschrieben.
3. Dann soll der Text der in der Textdatei steht (wurde ja bei 2. in diese Datei geschrieben) wieder in der Batch erscheinen.

Das mache ich mit "type".

Sieht dann ungefähr so aus:

set /p var= Text
Echo var >> \\MEIN-PC\Ordner1\Textdatei.txt
cls
type \\MEIN-PC\Ordner1\Textdatei.txt

Klappt auch alles ganz super.
Jetzt wird der Text mit "type" ja nur aktualisiert wenn ich das so durchlaufen lasse.

Nur jetzt will ich das der Text mit "type" aktualiesiert wird OHNE das ich etwas eingegeben habe.
Der Text soll sich alle 2 sekunden (oder andere Zeit) aktualiesieren.

Also im Prinzip alle 2 Sekunden soll "type \\MEIN-PC\Ordner1\Textdatei.txt" ausgeführt werden.
Wärend ich noch was schreiben kann, mit "set /p"

MFG
Retschef
Bitte warten ..
Mitglied: LotPings
14.05.2010 um 19:30 Uhr
Hallo Retschef.

Auch von mir ein Willkommen im Forum.

Solange nicht von anderer Seite ebenfalls etwas in die Datei geschrieben wird,
macht doch der Refresh keinen Sinn solange du auf einen User Input wartest?

Wie der Name Batch schon sagt ist das für die stapelweise Bearbeitung gedacht,
nicht um interaktive Dinge zu steuern.

Gruß
LotPings
Bitte warten ..
Mitglied: Retschef
14.05.2010 um 19:33 Uhr
hi,

"Solange nicht von anderer Seite ebenfalls etwas in die Datei geschrieben wird,
macht doch der Refresh keinen Sinn solange du auf einen User Input wartest?"

---Schon wenn ein zweiter gleichzeitig auf die Batch Datei zugreift.(z.B. von einem anderen Pc)

"Wie der Name Batch schon sagt ist das für die stapelweise Bearbeitung gedacht,
nicht um interaktive Dinge zu steuern."

---Heist das dass es nicht möglich ist?
Danke für die vielen Antworten!

MFG
Retschef
Bitte warten ..
Mitglied: bastla
14.05.2010 um 19:39 Uhr
Hallo @All!

So, wie sich das entwickelt, würde ich es mit 2 Batches versuchen (bei den heutigen Bildschirmgrößen passen die beiden Fenster vermutlich auch schön nebeneinander ):
01.
::Anzeigen.cmd 
02.
@echo off & setlocal 
03.
:Loop 
04.
cls 
05.
type \\MEIN-PC\Ordner1\Textdatei.txt 2>nul 
06.
ping -n 2 localhost>nul 
07.
goto :Loop
und
01.
::Eingabe.cmd 
02.
@echo off & setlocal 
03.
start Anzeigen 
04.
:Loop 
05.
set "var=" 
06.
set /p var=Eingabe:  
07.
if defined var >>\\MEIN-PC\Ordner1\Textdatei.txt echo %var% 
08.
goto :Loop
Für das Beenden muss ja wohl nicht groß vorgesorgt werden ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
14.05.2010 um 19:53 Uhr
Hallo zusammen,

in leichter Abwandlung könnte man auch Leerzeilen erzeugen.
Zeile 7 der Eingabe.cmd:
01.
>>\\MEIN-PC\Ordner1\Textdatei.txt echo.%var%
Der Punkt machts.

Sollten die Fenster doch zu groß werden, lassen sie sich durch
mode con cols=X lines=Y
in Anzahl der Spalten (X) und Zeilen (Y) begrenzen.

Grüße
rubberman
Bitte warten ..
Mitglied: Retschef
14.05.2010 um 20:03 Uhr
Thx,
Stimmt auf die Lösung mit 2 Batches bin ich noch nicht gekommen.

"if defined var >>\\MEIN-PC\Ordner1\Textdatei.txt echo %var% "

Verstehe ich leider nicht ganz was bewirkt das genau?^^

und wozu ist im 2. Abschnitt die 5. Zeile gut?
Wird die Variable nicht in der 6.Zeile bestimmt?

danke für die Lösung ich werde gleich ausprobieren obs so geht und euch bescheid sagen ;)

MFG
Retschef
Bitte warten ..
Mitglied: bastla
14.05.2010 um 20:10 Uhr
Hallo Retschef!

Die Zeilen 5 bis 7 sollen bewirken, dass bei einer "leeren" Eingabe (also nur "Enter" gedrückt) nicht die vorherige Zeile wiederholt (dazu wird die Variable %var% in Zeile 5 gelöscht) und auch keine Leerzeile geschrieben wird (dazu die Überprüfung mit "if defined") - die Möglichkeit, durch eine solche "leere" Eingabe eine Leerzeile zu erzeugen, hat rubberman ja schon gezeigt.

Grüße
bastla
Bitte warten ..
Mitglied: Retschef
14.05.2010 um 21:18 Uhr
Hi,

Es läuft alles einwandfrei jetzt!
(fast) Genauso habe ich mir das vorgestellt!^^

Und das mit der Leerzeile klappt bei mir auch ohne Punkt wenn ich einfach :

>>\\MEIN-PC\Ordner1\Textdatei.txt echo.%name%: %var%

mache kommt das raus:

Mein Name: Hallo

THX !

MFG
Retschef
Bitte warten ..
Mitglied: bastla
14.05.2010 um 21:25 Uhr
Hallo Retschef!
Und das mit der Leerzeile klappt bei mir auch ohne Punkt
... aber nur, weil Du eben keine "leere" Zeile erzeugst ...

Anyhow, schön dass es jetzt passt.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Per Batch eine vorhandene TXT aktualisieren
gelöst Frage von kampenBatch & Shell4 Kommentare

Moin, wie kann man eine vorhandene TXT (COUNTRY) per Batch aktualisieren? 1. COUNTRY.txt (ist bereits vorhanden) DATUM: 01.01.2017 Denmark\da1\prs500.exe ...

Batch & Shell
Vorhandene TXT per Batch aktualisieren
gelöst Frage von kampenBatch & Shell6 Kommentare

Moin zusammen, ich benötige Eure Hilfe um den Inhalt einer vorhandenen TXT per Batch zu aktualisieren! So sieht meine ...

Windows Netzwerk
Wann hat Wer, Was auf meine Festplatte geschrieben
Frage von BlackVictoryWindows Netzwerk7 Kommentare

Hallo zusammen, Umgebung: Server 2003 R2 über 200 Clients Festplatte d: also zwischenspeichermedium gedacht, wird aber langsam als Hauptspeicher ...

Humor (lol)
Der Labersack - geschrieben von Wolpertinger Butzen
Frage von 114685Humor (lol)1 Kommentar

Irgendwann 2007 einmal von einer Arcor-Homepage (nicht mehr existent) gespeichert, Quelle nicht mehr auffindbar und unbekannt Vorwort Endlich ist ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 6 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 7 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 14 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...