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

Pfad aus Variablen zusammensetzen

Frage Entwicklung Batch & Shell

Mitglied: Tarmerlan

Tarmerlan (Level 1) - Jetzt verbinden

16.02.2009, aktualisiert 15:01 Uhr, 8863 Aufrufe, 6 Kommentare

Guten Tag,

ich vermute mein Problem ist recht einfach und wird bei vielen für ein Schmunzeln sorgen, aber ich hänge nun mal leider fest: Folgender Sachverhalt ... Aus einer Batch sollen per call andere Batchs aufgerufen werden. In der Masterbatch habe ich einige Variablen definiert. Die sollen möglichst auch alle hier definiert werden, damit die Anpassung einfach wird.
Bei den call-Aufrufen gebe ich dann diese Variablen einfach mit und rufe sie per %1 usw. in der Unterbatch wieder auf. Teilweise klappt das auch. Ich habe aber ein Problem: Die Unterbatch soll kopieren und dieser Job funktioniert nicht. Ich zeig mal was ich meine:

Inhalt der Masterbatch

set pfad="c:\temp\"
set vm="C:\Temp\test\"
call 22.bat %pfad% %vm%

Der Inhalt der Unterbatch 22.bat:
md %1\backup
copy %2 %1\backup

Der erste Teil - die Verzeichniserstellung - funktioniert. Der zweite Teil leider nicht. Das wäre dann mein Problem. Ich hoffe ich habe es anschaulich dargestellt...

Grüße Erik
Mitglied: Paddyville
16.02.2009 um 23:23 Uhr
Also ich bin zwar batch noob und das ist keine gute Lösung aber es sollte klappen.

01.
main.bat 
02.
set PFAD1="c:\temp\" 
03.
set PFAD2="C:\Temp\test\" 
04.
echo %PFAD1%>>pfad1.txt  
05.
echo %PFAD2%>>pfad2.txt  
06.
call 22.bat %PFAD1% %PFAD2% 
07.
del pfad1.txt 
08.
del pfad2.txt 
09.
 
10.
22.bat 
11.
FOR /F %%i in (pfad1.txt) do set PFAD1=%%i 
12.
FOR /F %%k in (pfad2.txt) do set PFAD2=%%k 
13.
md %PFAD1%\backup 
14.
copy %PFAD2$ %PFAD1%\backup
Bitte warten ..
Mitglied: Tarmerlan
17.02.2009 um 00:13 Uhr
Erst mal danke für die Antwort. Leider verstehe ich da Ganze nicht so richtig.
Das fängt schon mit Zeile 03 und 04 an. Dort wird "Text" in Textdateien geschrieben. Ich sehe schon, dass dies eigentlich Variablen sind, aber wenn ich in die Textdatei reinschaue, dann sehe ich nur eine Meldung, dass Echo eingeschaltet ist.
Dann erfolgt der Call-Aufruf, wobei die alten Variablen als Parameter übergeben werden.

Ich interpretiere die Freizeilen mal so, dass unten der Inhalt der 22.bat steht. Dort wird eine Schleife aufgerufen, mir ist aber nicht so klar was hier passiert.

Auch hat die Verwendung der Dateien nicht das gewünschte Ergebnis gebracht...
Bitte warten ..
Mitglied: Paddyville
18.02.2009 um 23:27 Uhr
Hi,

sorry ich habe das gerade mal korrigiert.

dürfte klar sein....
set PFAD1="c:\temp\"
set PFAD2="C:\Temp\test\"

Pfade in Textdatei schreiben...
echo %PFAD1%>>pfad1.txt
echo %PFAD2%>>pfad2.txt

dann call 22.bat

Pfad aus den textdateien holen und variable PFAD1 und PFAD2 setzen ...
FOR /F %%i in (pfad1.txt) do set PFAD1=%%i
FOR /F %%k in (pfad2.txt) do set PFAD2=%%k

also bei mir läuft das so ...

Gruß aus Hamburg
Bitte warten ..
Mitglied: Tarmerlan
19.02.2009 um 10:50 Uhr
Ja - jetzt hat es auch bei mir funktioniert. Diese Lösung kann ich jetzt verwenden. Ich bedanke mich für die nette Hilfe.

Grüße aus Berlin
Bitte warten ..
Mitglied: Paddyville
19.02.2009 um 18:41 Uhr
Es ist zwar nicht die schönste Lösung aber wenn es funktioniert
Bitte warten ..
Mitglied: Tarmerlan
19.02.2009 um 19:33 Uhr
Ich habe das Ganze jetzt mal eingebaut und da sind noch 2 neue Fragen aufgetaucht:
1. In den Textdateien, wird ja ein Pfad gespeichert. Einmal enthält dieser Pfad ein Freizeichen. Das Ganze steht natürlich vorbildlich in Hochkomme, aber leider wird die Variable dann einfach abgekürzt erstellt. Sprich nur bis zum Freizeichen. Dann fehlt natürlich ein Teil des Pfades. Das hat sicher mit der Syntax zu tun... oder?
2. ich wollte mehr als 2 Variablen auf diesem Weg übergeben und habe einfach noch weitere kleine Buchstaben verwendet (gleiches Schema wie das %%i und das %%k) > das hat dann leider nicht funktioniert.
Auch beim Lesen von for /? bin ich nicht so recht schlau geworden. Bin halt nicht so der Programmierer.
Problem Nummer 1 habe ich damit umgangen, dass ich den Pfad geändert habe... ist aber auch wieder nur halbherzig. Für Problem Nummer 2 habe ich keine Lösung.

Übrigens: Du hast geschrieben, dass diese Lösung nicht "schön" ist. Wie kriegt man denn eleganter Variablen aus der "Mutterbatch" in die per call aufgerufenen Batchs? Wäre echt dankbar für ein paar Tipps um meine Lösung eleganter zu gestalten, bzw. einfacher anpassbar zu machen.

Grüße Erik
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - Eine Variable zusammensetzen
gelöst Frage von adm2015Batch & Shell2 Kommentare

Hallo zusammen, ich hab gerade ein Problem und finde irgendwie nicht die richtige Lösung. Vielleicht könnte mir jemand ein ...

Batch & Shell
Powershell: Variable in Pfad einbauen
gelöst Frage von ThunderbirdOPBatch & Shell2 Kommentare

Hallo Leute, ich würde gerne eine Variable in einen Pfad einsetzen, bekomme aber immer den Fehler zurück, dass der ...

Batch & Shell
Umbennen in variablen Pfad
Frage von bytetixBatch & Shell12 Kommentare

Hallo, ich habe ein kleines Skript, dem gebe ich als Parameter Pfad1 und Pfad2 mit. Das Skript kopiert dann ...

Windows Server
GPP Laufwerksmapping mit AD-Variable im Pfad - Ist das machbar?
gelöst Frage von dronWindows Server8 Kommentare

Hallo zusammen, ich habe mal eine Frage an euch bzgl. folgender Problemstellung. Wir haben eine größere TS-Farm mit einigen ...

Neue Wissensbeiträge
Tipps & Tricks

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

Tipp von StefanKittel vor 2 StundenTipps & 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 3 StundenSicherheit5 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 4 StundenSicherheit4 Kommentare

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

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 4 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1028 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen19 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...