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

Batch Variablen Inhalt als Ordner Namen verwenden und Unterordner erstellen

Mitglied: sigisigi

sigisigi (Level 1) - Jetzt verbinden

06.05.2014 um 09:20 Uhr, 2711 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

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 ...

Batch & Shell

Txt Inhalt in batch variabel verwenden

gelöst Frage von quan81Batch & Shell17 Kommentare

Liebes Forum ich bin neu dabei und freu mich wenn mir jemand helfen kann. Ich versuche per .bat file ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 TagenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 3 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 3 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 3 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement19 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android13 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...

Router & Routing
VPN hinter zweiter Fritzbox nutzen im Nachbarhaus
gelöst Frage von georg2204Router & Routing11 Kommentare

Hallo zusammen, ich blicke hier leider nicht mehr so ganz durch. In Haus 1 steht eine Fritzbox 7390, diese ...