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

Frage Entwicklung Batch & Shell

Batch Variablen Inhalt als Ordner Namen verwenden und Unterordner erstellen

Mitglied: sigisigi

sigisigi (Level 1) - Jetzt verbinden

06.05.2014 um 09:20 Uhr, 2579 Aufrufe, 2 Kommentare

Hallo Zusammen

Ich mache mich gerade mit Batch vertraut und stosse immer wieder auf hindernisse. Die meisten kann ich mit der Zeit lösen aber bei diesem Problem gelingt es mir nicht. Ich habe als Übung ein Skript erstellt, dass den Namen erfragt und mit diesem dann einen Ordner erstellt. usw.

Info zum System
Win7
64Bit
Software Notepad++

Das ganze Programm ist momentan auf 3 Batch files aufgeteilt.

1:
01.
@echo off 
02.
echo Batch Übung 
03.
echo Schreibe deinen Namen 
04.
set/p Name= 
05.
echo Hallo %Name% 
06.
:Frage1 
07.
echo Soll ein Persöndlicher Ordner für dich erstellt werden? 
08.
echo Ja , Nein 
09.
set/p Antwort1= 
10.
if %Antwort1%== Ja goto JA1 
11.
if %Antwort1%== Nein goto NEIN1 
12.
echo. 
13.
 
14.
echo Nur Ja oder Nein eingeben 
15.
echo. 
16.
goto Frage1 
17.
 
18.
:JA1 
19.
if exist C:\Users\adsi\Desktop\Lernprogramm\%Name% call Loeschen.bat 
20.
mkdir C:\Users\adsi\Desktop\Lernprogramm\%Name% 
21.
echo Persöndlicher Ordner wurde erstellt. 
22.
pause>NUL 
23.
 
24.
:NEIN1 
25.
goto Frage2 
26.
echo. 
27.
 
28.
cls 
29.
 
30.
:Frage2
Weiterleitung auf 2 Batch
2:
01.
@echo off 
02.
echo Wollen Sie den vorhandenen Ordner löschen? 
03.
echo Ja , Nein 
04.
set/p Antwort= 
05.
if %Antwort%== Ja goto löschen 
06.
if %Antwort%== Nein goto NeuerOrdner1 
07.
 
08.
:NeuerOrdner1 
09.
echo Ordner bleibt vorhanden. 
10.
echo Stattdessen neuen Ordner erstellen? 
11.
echo Ja , Nein 
12.
set/p Antwort1= 
13.
if %Antwort1%== Ja goto NeuerOrdner 
14.
if %Antwort1%== Nein goto Schluss 
15.
 
16.
:löschen 
17.
rmdir /s /q C:\Users\adsi\Desktop\Lernprogramm\%Name% 
18.
echo Ordner gelöscht 
19.
pause>NUL 
20.
 
21.
:NeuerOrdner 
22.
echo Wie soll der neue Ordner gennant werden? 
23.
set/p Name1= 
24.
echo Es wird ein Ordner mit der Bezeichnung %Name1% erstellt 
25.
mkdir C:\Users\adsi\Desktop\Lernprogramm\%Name1% 
26.
pause>NUL 
27.
 
28.
:Schluss 
29.
call Ende.bat
Weiterleitung auf 3te Batch
3:
01.
@echo off 
02.
 
03.
cd C:\User\adsi\Desktop\Lernprogramm\%Name% 
04.
if exist Kommentar rmdir Kommentar 
05.
mkdir Kommentar 
06.
 
07.
:Kommentar 
08.
echo Wollen Sie einen Kommentar schreiben? 
09.
echo Ja , Nein 
10.
set/p Kommentar= 
11.
if %Kommentar%==Ja goto Kommentar1 
12.
if %Kommentar%==Nein goto Schluss 
13.
 
14.
 
15.
echo Nur mit Ja oder Nein Antworten 
16.
echo. 
17.
goto Kommentar 
18.
 
19.
:Kommentar1 
20.
cd C:\User\adsi\Desktop\Lernprogramm\%Name%\Kommentar 
21.
echo Schreiben Sie einen Kommentar 
22.
set/p Kommentar1= 
23.
echo %Kommentar1% > %Name%_Kommentar.txt 
24.
echo Vielen Dank für deinen Kommentar! 
25.
goto Schluss 
26.
 
27.
 
28.
:Schluss 
29.
echo Das Programm ist beendet 
30.
echo Vielen Dank %Name%! 
31.
pause 
32.
exit
Mein Ziel ist es nun, dass der Inhalt der Variabel %Name% als Ordner genutzt wird und dann anschliessend in diesem Ordner ein Ordner Kommentar entsteht welcher ein Textfile beinhalten mit dem Kommentar des Erstellers.

Ich Danke euch im Voraus für eure Hilfe
sigi
Mitglied: SaschaRD
06.05.2014, aktualisiert um 10:33 Uhr
Hallo Sigi,

Anmerkung: Du könntest alles in eine Batch verschachteln. Bei den ganzen Sprungzielen sollte es kein Problem sein. Hier dein Code etwas geändert:
01.
@echo off 
02.
:: Meine Sets 
03.
set PATH="C:\Users\adsi\Desktop\Lernprogramm" 
04.
echo Gib mir den Ordnernamen 
05.
set/p Name= 
06.
echo Ordnername: %Name% 
07.
:Frage1 
08.
echo Soll der Ordner erstellt werden? 
09.
echo Ja(J) , Nein(N) 
10.
set /p Antwort1= 
11.
	IF %Antwort1%== J goto JA1 
12.
	IF %Antwort1%== N goto Frage2 
13.
	echo. 
14.
	echo Nur Ja(J) oder Nein(N) eingeben 
15.
	echo. 
16.
	goto Frage1 
17.
 
18.
:JA1 
19.
IF EXIST %PATH%\%Name% goto Frage2 
20.
md %PATH%\%Name%\ 
21.
echo Persoenlicher Ordner %Name% wurde erstellt. 
22.
goto Kommentar 
23.
 
24.
::Frage2 = NEIN1 
25.
:Frage2 
26.
echo Es exisitiert bereits ein Ordner mit der Bezeichnung: %Name% 
27.
echo Vorhandenen Ordner loeschen? 
28.
echo Ja(J) , Nein(N) 
29.
set/p Antwort2= 
30.
	IF %Antwort2%== J goto loeschen 
31.
	IF %Antwort2%== N goto NeuerOrdner1 
32.
 
33.
:loeschen 
34.
rmdir /s /q %PATH%\%Name% 
35.
echo Ordner %Name% wurde geloescht. 
36.
goto JA1 
37.
	 
38.
:NeuerOrdner1 
39.
echo Ordner bleibt vorhanden. 
40.
echo Stattdessen neuen Ordner erstellen? 
41.
echo Ja(J) , Nein(N) 
42.
set/p Antwort3= 
43.
	IF %Antwort3%== J goto NeuerOrdner 
44.
	IF %Antwort3%== N goto Schluss 
45.
 
46.
:NeuerOrdner 
47.
echo Name des Ordners? 
48.
set/p Name= 
49.
echo Es wird ein Ordner mit der Bezeichnung %Name% erstellt. 
50.
md %PATH%\%Name% 
51.
echo Persoenlicher Ordner %Name% wurde erstellt. 
52.
goto Kommentar 
53.
 
54.
:Kommentar 
55.
echo Wollen Sie einen Kommentar schreiben? 
56.
echo Ja(J) , Nein(N) 
57.
set/p Kommentar= 
58.
	IF %Kommentar%==J goto Kommentar1 
59.
	IF %Kommentar%==N goto Schluss 
60.
	echo. 
61.
	echo Nur Ja(J) oder Nein(N) eingeben 
62.
	echo. 
63.
	goto Kommentar 
64.
 
65.
:Kommentar1 
66.
echo Schreiben Sie einen Kommentar 
67.
set/p Kommentar1= 
68.
echo %Kommentar1% > %PATH%\%Name%\Kommentar.txt 
69.
echo Vielen Dank für deinen Kommentar! 
70.
goto Schluss 
71.
 
72.
:Schluss 
73.
echo Das Programm ist beendet 
74.
echo Vielen Dank %Name%!
Gruß Sascha
Bitte warten ..
Mitglied: bastla
06.05.2014, aktualisiert um 16:29 Uhr
Hallo sigisigi und SaschaRD!

Nur einige Anmerkungen:
  • Eine Variable für den (Basis-)Pfad zu verwenden ist eine sehr gute Idee - sie PATH zu nennen allenfalls dann, wenn sicher keine externen CMD-Befehle verwendet werden sollen ...
  • Falls der eingegebene Name ein Leerzeichen (oder Sonderzeichen wie etwa ein "&") enthalten sollte, wird sich das Fehlen der Anführungszeichen (um den jeweilgen Ordner-/Dateipfad herum) bemerkbar machen.
  • Ein if /i gäbe dem Benutzer die Möglichkeit, auch "j" (anstatt "J") einzugeben.
  • Bei der ersten Eingabe wird noch geprüft, ob der Ordner schon existiert - in :NeuerOrdner interessiert das nicht mehr ...
  • Falls der Benutzer keine Lust hatte, einen Kommentar einzugeben, lässt sich das (derzeit) nur am Inhalt ECHO ist eingeschaltet (ON). in "Kommentar.txt" erkennen - mit if defined könnte schon die Eingabe geprüft werden.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Via Batch Ordner und Unterordner erstellen
gelöst Frage von supisupperBatch & Shell16 Kommentare

Hallo zusammen, ich habe auf ein Netzlaufwerk 2650 Ordner (Haupt und Unterordner zusammen) die ich in den letzten 10 ...

Batch & Shell
Textdatei im unbekannten Ordner erstellen mit Namen des Ordners als Inhalt
Frage von ed19dyBatch & Shell3 Kommentare

Hallo zusammen, solangsam beiße ich mir die Zähne an folgender Aufgabe aus: Auf dem Laufwerk "C" ("c:\Ordner") werden zufällig ...

Batch & Shell
Wie Ordner und fortlaufend nummerierte Unterordner aus Text mit Batch erstellen?
gelöst Frage von LinoVanBinoBatch & Shell9 Kommentare

Hallo Zusammen, leider bin ich kein Script Fachmann, aber muss mich hier einer Aufgabe stellen. Ich muss/will mit einer ...

Batch & Shell
Batch Ordner und Unterordner vergleichen
gelöst Frage von SPSmanBatch & Shell2 Kommentare

Hallo an alle, Ich suche nach einer Batchfunktion die mir Ordner und Unterordner Vergleicht und bei Ungleichheit das Archivbit ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...