Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Meine Batch datei

Frage Entwicklung Batch & Shell

Mitglied: adinin

adinin (Level 1) - Jetzt verbinden

07.05.2009, aktualisiert 19:00 Uhr, 3444 Aufrufe, 6 Kommentare

Brauche Tipps

Ich habe eine sehr einfache frage da ich erst neulich mich mit Batch datein beschäftige weis ich noch nicht so viel über sie
Ich möchte fragen was man noch an diesem Beispiel verbessern oder verändern kann.

@echo off
color 71
title adinin
echo * *
echo * *
echo * *
echo *
echo * *
echo * *
echo * *
echo Hallo bitte "r" drücken und dann enter
set /p ordner=Option:
if %ordner%==ja goto ordner
:ordner
mkdir ordner1
mkdir ordner2
mkdir ordner3
mkdir ordner4
mkdir ordner5
echo Um die ordner wieder zu loeschen ja enfuegen
echo um die ordner zu behalten nein einfuegen
set /p ordner=Option:
if %ordner%==ja goto lordner
if %ordner%==nein goto lexit
:lordner
rmdir ordner1
rmdir ordner2
rmdir ordner3
rmdir ordner4
rmdir ordner5
:lexit
exit
pause
Mitglied: Biber
07.05.2009 um 19:48 Uhr
Moin adinin,

zwei Grundregeln gelten bei Batch genauso wie bei "richtigen" Programmiersprachen:

  • die Programmumgebung wird genauso verlassen wie vorgefunden. Weder Umgebungsvariablen noch Pfade noch aktuelle Laufwerke noch Farbeinstellungen sind nach Beendigung (oder Absturz) des Programms verändert
  • die Programm-Logik muss stimmen.

Zum ersten Punkt: siehe "SetLocal /?" "PushDir/PopDir/?" , "Color /?" am CMD-Prompt

Zum zweiten Punkt:
a) Diese "Prüfung"
01.
.... 
02.
.... 
03.
if %ordner%==ja goto ordner 
04.
:ordner 
05.
...
...führt dazu, dass der Anwender/die Anwenderin auch "Banane" oder "Dieter Bohlen is' doof" eingeben kann.
Am Programmablauf ändert sich nix.

~~~~

b) diese Reihenfolge
01.
... 
02.
... 
03.
exit 
04.
pause
... führt zu einer "pause" wie im richtigen Leben.
Sehr, sehr selten.

Grüße
Biber
Bitte warten ..
Mitglied: LotPings
07.05.2009 um 20:19 Uhr
Ergänzend zu dem bereits von Biber Gesagten,

Bei If Abfragen ist die Groß-/Kleinschreibung nicht egal, es sei denn du nimmst If /i

Wenn du den Inhalt einer Variable abfragst, die ja auch leer sein kann, solltest du auf beiden Seiten etwas dazufügen was die Prüfung auf Gleichheit nicht beeinflusst aber einen Syntaxfehler vermeidet wenn die Variable eben leer ist.

If /i "%ordner%"=="ja"

zum Speibiel

Ansonsten ist Vieles bei der Gestaltung/Formatierung eines Batches eine Gewohnheits-/Geschmakcsfrage.

Als Redundanzfanatiker würde ich eher schreiben :
01.
Set OrdnerListe=ordner1 ordner2 ordner3 ordner4 ordner5 
02.
For %%A in (%OrdnerListe%) Do MD %%A 
03.
:: und  
04.
For %%A in (%OrdnerListe%) Do RD /Q /S %%A  >NUL
Gruß
LotPings
Bitte warten ..
Mitglied: hajowe
08.05.2009 um 08:42 Uhr
Zitat von LotPings:


Als Redundanzfanatiker würde ich eher schreiben :


Du sagst es ja schon selbst.
Aber ich denke er beginnt zu laufen,.
Ist wie bei Kleinkindern erst krabbeln --> laufen --> rennen.

Du solltest ihn mit den höheren gleich zu Beginn überfordern.
Bitte warten ..
Mitglied: Biber
08.05.2009 um 09:53 Uhr
Zitat von hajowe:
Du solltest ihn mit den höheren gleich zu Beginn überfordern.

Öhmm ja. Klingt logisch.

Grüße
Biber
Bitte warten ..
Mitglied: adinin
08.05.2009 um 15:51 Uhr
danke für eure hilf werde versuchen einige sachen besser zu machen.
Wie kann ich machen das man nur ja eingeben kann und sonst geht einfah nix also man kann dann nicht mehr "Dieter Bohlen is' doof" (da muss ich Biber zu stimmen ) eingeben und es geht dann weiter. Wie soll ich das anstellen?
Bitte warten ..
Mitglied: LotPings
08.05.2009 um 16:18 Uhr
Die Eingabe kannst du nicht so ohne weiteres verhindern, du kannst aber bei nicht vorgegebenen Eingaben einfach erneut fragen.

01.
:loop 
02.
echo Hallo bitte "r" drücken und dann enter  
03.
set /p ordner=Option [r/ja] : 
04.
If defined ordner for %%A in (r ja) do If /I "%ordner%"=="%%A" goto :Antw_%%A 
05.
goto :loop 
06.
:AntW_r 
07.
:: was auch immer 
08.
goto :eof 
09.
:AntW_ja 
10.
::
Gruß
LotPings

PS: laufen können oder nicht, dies ist meines Erachtens eine der effizienstesten Gültigkeitsabfragen.
Fehler mit 3* %%% korrigiert.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Windows Server
gelöst Batch-Datei startet in der Aufgabenplanung nicht (12)

Frage von koehlo zum Thema Windows Server ...

Netzwerkmanagement
gelöst Batch Datei auf anderem PC öffnen (35)

Frage von Flodsche zum Thema Netzwerkmanagement ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (21)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (12)

Frage von alemanne21 zum Thema Webentwicklung ...