Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Mit Batch den letzten Ordner eines Pfades aus einer Listendatei ermitteln

Frage Entwicklung Batch & Shell

Mitglied: Campari-O

Campari-O (Level 1) - Jetzt verbinden

05.03.2009, aktualisiert 18.10.2012, 8168 Aufrufe, 9 Kommentare

ermitteln des Zielordners für -copy-Befehle aus einer Ordnerliste mit unterschiedlichen Verzeichnistiefen

Hallo Forengemeinde!
Nun komme ich also doch noch in die Verlegenheit eine wahrscheinlich einfache Frage hier zu stellen.
Dieses Forum hat mir schon bei seeehr vielen Problemlösungen geholfen, aber an diesem sitz ich nun seit zwei Tagen und weder hier,
noch im sonstigen Googleversum habe ich einen für mich verwertbaren Lösungsansatz gefunden.

Vorweg, ich bin auf eine Batchdatei festgelegt.

Zu meinem Problem:

Ich schreibe hier wie wild an einer Batch, die nichts anderes macht, als sowohl bestimmte Dateien, als auch in einer Listendatei angebbare Ordner in einen (immer dem Datum nach benannten) Backupordner zu sichern und diese auch, bis auf eine angegebene Zahl, wieder zu löschen um nur die aktuellsten X zu behalten.
Soweit so gut, es klappt auch alles wunderbar bis auf die Ordnerliste.

Mein Problem daran ist die Funktionsweise der -copy-Befehle, da diese immer den INHALT des Quellordners ind den Zielordner kopieren und nicht einfach den Quellordner selbst.

bsp:
xcopy "LFW:\xxxxx\yyyyy\zzzz" "LFW:\Backup\zzzz"

Da man aber in der Liste irgendwelche und beliebig viele Ordner angeben können soll, die dann aber trotzdem im Zielverzeichnis\Originalname landen sollen wird das etwas schwierig.
Ich muss also irgendwie den Quellordner aus dem Pfad-String auslesen und ihn als Zielordner in meine FOR-xcopy-Schleife angeben.

LFW:\xxxxx\yyyyy\ZZZZ --> LFW:\Backup\ZZZZ
LFW:\aaa\BBBB --> LFW:\Backup\BBBB
LFW:\hhhh\iiiii\jjjj\kkkk\llll\MMM ---> LFW:\Backup\MMMM

Mein bisheriger Ansatz dreht sich drum irgendwie die "\" im Pfad zu zählen (mit FINDSTR ?) und dann in der FOR-Schleife das Xte (letzte) Token anzugeben.
Und genau in diesem Zählen liegt mein Problem, ich bekomms einfach nicht hin.

Andere Lösungswege sind natürlich auch gern gesehen.

Vielen Dank schonmal
Mitglied: bastla
05.03.2009, aktualisiert 18.10.2012
Hallo Campari-O und willkommen im Forum!

Schau Dir mal diesen Beitrag an ...

Grüße
bastla
Bitte warten ..
Mitglied: Campari-O
05.03.2009 um 12:34 Uhr
Hallo bastla!

Danke für die schnelle Reaktion, aber
den kenn ich, wollte ich oben eigentlich auch rein schreiben. Hab ich wohl leider vergessen.
Der Unterschied ist, dass dort zumindest sicher ist, dass .xml-Dateien im Verzeichnis liegen, was dann als Anhaltspunkt verwendet werden kann.
Diesen Vorteil habe ich leider nicht. Ich habe völlig willkürliche Ordner.

Oder aber ich habe den Beitrag nicht verstanden, was ich nie ausschließe.

Habe auch schon einiges mit %~nxi versucht, ws aber leider immer zu der Meldung führte, dass ich Pfadoperatoren an dieser Stelle nicht verwenden könne.
Bitte warten ..
Mitglied: Biber
05.03.2009 um 13:05 Uhr
Moin Campari-O,

an dieser Stelle ist nichts Kompliziertes.... mach Dir da nicht so viele Gedanken:
01.
>for /f %i in ("LFW:\hhhh\iiiii\jjjj\kkkk\llll\MMM") do @echo LetzterPfadteil: [%~ni] 
02.
LetzterPfadteil: [MMM]
Vollkommen egal, ob es diesen "Pfadstring" gibt oder ob es überhaupt eine Windows-konforme Pfadangabe wäre.

Grüße
Biber
Bitte warten ..
Mitglied: Campari-O
05.03.2009 um 13:18 Uhr
Hi Biber

Hab das eben nochmal versucht.
Es kommt wie oben schon erwähnt die Meldung:

Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~ni]
Geben sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate gültig sind.

14:26 Mist muss weg. Werd wohl erst morgen Früh weiterversuchen können. Bin mal gespannt wo mein Fehler liegt.
Im Prompt funktioniert die Zeile ja, nur eben nicht im Batch
Bitte warten ..
Mitglied: bastla
05.03.2009 um 14:44 Uhr
Hallo Campari-O!

Wenn's ein Batch sein soll, natürlich die "%"-Zeichen verdoppeln, daher also:
for /f %%i in ("LFW:\hhhh\iiiii\jjjj\kkkk\llll\MMM") do @echo LetzterPfadteil: [%%~ni] 
Grüße
bastla
Bitte warten ..
Mitglied: Campari-O
05.03.2009 um 23:33 Uhr
Das hab ich natürlich brav gemacht. Läge es daran, würd ich in die Tastatur beißen.
Aber ich bin fast sicher, dass es nur son Miniding ist, was ich überseh.
Bitte warten ..
Mitglied: Campari-O
06.03.2009 um 07:50 Uhr
Fragt mich nicht warum, aber heute gehts.
Kiste engeschaltet, Batch gestartet --> geht??? Naja, ich hasse diese Wunderheilungen, da man nie weiß worans nun lag.
Jetzt noch "demlims=" eingefügt und schon sind die Leerzeichen in den Pfaden auch dabei.

DANKE Leute!!!!
Bitte warten ..
Mitglied: Biber
06.03.2009 um 08:05 Uhr
Moin Campari-O,

Jetzt noch "demlims=" eingefügt und schon sind die Leerzeichen in den Pfaden auch dabei.
Also, an irgendwelchen "demlims" oder "gremlins" kann es eigentlich nicht liegen, dass es heute läuft...

Aber ich denke, ein "Erledigt"-Haken ist zwar noch nicht, aber wäre angebracht.

Schönes Wochenende
Biber
Bitte warten ..
Mitglied: Campari-O
06.03.2009 um 08:38 Uhr
Der kommt sofort, war nur nicht sicher, ob dann noch ne Antwort kommt :D
Wollt ja schließlich nochmal Danke sagen
Und da kommt er schon.
Das jetzt auftretende Problem, dass mir xcopy nur den letzten Ordner der liste kopiert und bei den anderen "unzulässige Parameterzahl" behauptet werd ich schon finden.
Sein kanns ja eigentlich nicht, da die copy Anweisung in einer Schleife steckt --> alle Anweisungen haben die selben Parameter.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Datei per Batch in Ordner mit sich ständig änderndem Namen kopieren (3)

Frage von Drxrey zum Thema Windows Server ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Batch & Shell
gelöst Per FTP-Shell oder Batch in ein unbekanten Ordner wechseln (8)

Frage von Ducky2 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...