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

Verzeichnis mehrerer Batchdateien, die mit CALL aufgerufen werden anpassen

Frage Entwicklung Batch & Shell

Mitglied: SG3105

SG3105 (Level 1) - Jetzt verbinden

01.11.2009, aktualisiert 15:47 Uhr, 3054 Aufrufe, 5 Kommentare

Ich möchte mehrere (zu viele) Batchdateien per Call-Befehl aufrufen.
Dabei entsteht ein Problem: Die Zuordnung des Verzeichnisses.

Ich habe in mehreren Unterverzeichnissen mehrere Batchdateien.
Jede erzeugt mir eine Datei mit mehreren Befehlszeilen:

SET newfile=neueDatei.ext
...
TYPE Pfad_cfg\Config.ext > %newfile%
TYPE Pfad1\Datei_A.ext >> %newfile%
TYPE Pfad2\Datei_B.ext >> %newfile%
...
TYPE Pfadn\Datei_X.ext >> %newfile%

Wenn ich diese Batchdateien per Call-Befehl aufrufe werden alle %newfile% in dem Verzeichnis der aufrufenden Batchdatei erzeugt.
Die %newfile% soll aber jeweils in dem Verzeichis der aufgerufenen(!) Batchdatei erstellt werden!

Muß ich jetzt jede Batchdatei ändern oder geht das eleganter?
Außerdem wäre es möglich, daß sich später die Verzeichnisnamen der Batchdateien ändern.

PS: Winterreifen aufziehen nicht vergessen!
Geht leider nicht per Batch. :-?
(Wer diesen Beitrag später liest muß ggf. die Reifenauswahl anpassen.)
Mitglied: bastla
01.11.2009 um 18:10 Uhr
Hallo SG3105 und willkommen im Forum!

So richtig klar ist mir Dein Problem noch nicht geworden, aber den Speicherort der aufgerufenen Batchdatei zu verwenden sollte so realisierbar sein:
SET "newfile=%~dp0neueDatei.ext"
Mehr Information dazu findest Du in der Hilfe zu "for" ziemlich gegen Ende (Stichwort: "Ersetzung von Verweisen") - was dort für die Laufvariable einer "for"-Schleife (%I) dargestellt wird, gilt auch für die Parametervariablen %0 bis %9.

Eine Alternative könnte der Verzeichniswechsel vor dem Aufruf der jeweiligen Batchdatei (innerhalb des aufrufenden Batches) sein - siehe dazu "pushd" und "popd".

Grüße
bastla

P.S.: Für das Posten von Code bietet die Forumssoftware passende Tags ...
Bitte warten ..
Mitglied: SG3105
01.11.2009 um 21:02 Uhr
Aha-Erlebnis.
Soweit funktioniert das gut.

Noch eine Frage. In der Hilfe steht:

%~I - Expandiert %I und entfernt alle umschließenden Anführungszeichen (").

Kann man das auch bei anderen Variablen anwenden, z. B. %irgendwas%?
Zum Beispiel um die Anführungszeichen zu entfernen?
Bitte warten ..
Mitglied: rubberman
01.11.2009 um 23:54 Uhr
Hallo SG3105.

Das ist ein anderer Variablentyp.
Hier mal der Unterschied:

01.
@echo off &setlocal 
02.
set irgendwas="Inhalt in """ 
03.
echo   Das Original: 
04.
echo %irgendwas% 
05.
echo. 
06.
echo   Alle Anfuehrungszeichen werden durch NICHTS ersetzt: 
07.
echo %irgendwas:"=% 
08.
echo. 
09.
echo   Nur die umschliessenden Anfuehrungszeichen werden eliminiert: 
10.
for /f "delims=" %%i in ("%irgendwas%") do echo %%~i 
11.
echo. 
12.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: SG3105
02.11.2009 um 12:49 Uhr
Danke für die Antwort. Wieder was gelernt.

Wieso gibt Zeile 10 eine Fehlermeldung raus?
Datei "(einige Sonderzeichen)" kann nicht gefunden werden.

Wie kriege ich denn hier einen Screenshot rein?
Lesen kann ich, aber verstanden hab ich das Einfügen mit image nicht.

Grüße.
Bitte warten ..
Mitglied: rubberman
02.11.2009 um 19:44 Uhr
Hallo SG3105,

um ehrlich zu sein, hab noch nie versucht ein Bild hier einzufügen, also keine Ahnung.
Hilfreicher als der Screenshot wäre aber gewesen, den genauen Code zu posten, der die Fehlermeldung ausspuckt. Aber mal so als Tipp:
01.
@echo off 
02.
set irgendwas=C:\Neu.txt 
03.
for /f "delims=" %%i in ("%irgendwas%") do echo %%i  
04.
pause
Die Ausgabe ist:
C:\Neu.txt

dagegen:
01.
@echo off 
02.
set irgendwas=C:\Neu.txt 
03.
for /f "delims=" %%i in (%irgendwas%) do echo %%i  
04.
pause
Hier wird entweder der Inhalt der Datei C:\Neu.txt ausgegeben, oder die Datei ist nicht vorhanden und führt zu der von dir geposteten Fehlermeldung.

Grüße
rubberman

Edit: Der Fehlerteufel hatte zugeschlagen.
Bitte warten ..
Ähnliche Inhalte
TK-Netze & Geräte
gelöst Nummernsignalisierung bei Rufumleitung (Cisco Call Manager) (2)

Frage von TripleDouble zum Thema TK-Netze & Geräte ...

Firewall
Pfsense alle aufgerufenen Seite loggen

Frage von bfschmlan zum Thema Firewall ...

Netzwerkgrundlagen
gelöst Subnetzmaske anpassen (8)

Frage von Sprudi zum Thema Netzwerkgrundlagen ...

Batch & Shell
Wildcard im Dateinamen möglich bei Batchdatei? (3)

Frage von imebro zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...