Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Meine Batch datei

Frage Entwicklung Batch & Shell

Mitglied: adinin

adinin (Level 1) - Jetzt verbinden

07.05.2009, aktualisiert 19:00 Uhr, 3449 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 ...

Batch & Shell
Mit batch Datei auf Smartphone zugreifen (7)

Frage von daniel011 zum Thema Batch & Shell ...

Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Neue Wissensbeiträge
Mac OS X

Apple hat macOS High Sierra veröffentlicht

(4)

Information von Frank zum Thema Mac OS X ...

Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(4)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(8)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows Server
Seit IP Umstellung DC DNS Fehler (25)

Frage von Yaimael zum Thema Windows Server ...

Windows 10
gelöst Netzwerkkarte schaltet sich erst nach dem Logon ein (24)

Frage von DerWoWusste zum Thema Windows 10 ...

Grafik
gelöst CAD Arbeitsplätze (17)

Frage von Diddi93 zum Thema Grafik ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (16)

Frage von Voiper zum Thema Weiterbildung ...