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

Ordner über Zeichenkette suchen

Frage Entwicklung Batch & Shell

Mitglied: Bayman52

Bayman52 (Level 1) - Jetzt verbinden

16.01.2015 um 20:13 Uhr, 831 Aufrufe, 10 Kommentare, 2 Danke

Hallo zusammen, nachdem ich jetzt schon ein Woche bastle und suche, brauche ich doch eure Hilfe.

Ich habe schon eine umfangreiche Batch-Datei erstellt zum Sichern unterschiedlicher Ordner.

Jetzt stehe ich aber vor dem Problem, dass ich auch Ordner (und nur solche) kopieren muss, die eine bestimmte Zeichenkette (z.B. "T_" oder "S_" enthalten).

Ein derartiger Ordner sieht also wie folgt aus:
D:\Test\T_XXX
D:\Test\AAAA
D:\Test\BBBBB
D:\Test\S_XXX

Wie finde ich solche Ordner (ohne die anderen, die diese Zeichenkette nicht enthalten) und bekomme den Pfad in eine Variable,
damit ich diese innerhalb der Batch-Datei an robocopy übergeben kann.

Vielen Dank schon im Voraus!

Viele Grüße
Bayman52
Mitglied: bastla
LÖSUNG 16.01.2015, aktualisiert 20.01.2015
Hallo Bayman52 und willkommen im Forum!

Wenn nur die unmittelbaren Unterordner des Ausgangsordners berücksichtigt werden sollen, etwa so:
for /d %%i in ("D:\Test\T_*") do echo robocopy "%%i" ...
Grüße
bastla
Bitte warten ..
Mitglied: Bayman52
17.01.2015 um 17:16 Uhr
Hallo bastla,

vielen Dank für die schnelle Antwort.

Irgendetwas funktioniert noch nicht.
Robocopy weigert sich zu kopieren, obwohl das Verzeichnis richtig erkannt und im Konsolen-Fenster alles richtig angezeigt wird.
Fehlermeldung von Robocopy gibt es auch keine.
Ich bin noch am Eingrenzen des Fehlers.

Ich melde mich, sobald ich mehr weiß.

Viele Grüße
Bayman52
Bitte warten ..
Mitglied: schmitzi
17.01.2015 um 22:05 Uhr
Hi,

wie sieht denn Dein Robocopy-Befehl aus ?

Gruss RS
Bitte warten ..
Mitglied: Bayman52
18.01.2015 um 16:43 Uhr
Hallo schmitzi, hallo bastla,

robocopy will einfach nicht.

Ausgangssituation:

F:\Test-1\T_xxx
F:\Test-1\AAAA
F:\Test-2

Ich hätte gerne nach dem Kopieren:

F:\Test-1\T_xxx
F:\Test-1\AAAA
F:\Test-2\T_xxx

1. Problem:
robocopy "F:\Test-1\T_xxx" "F:\Test-2" /s /r:1 /w:1 /LOG:%Log_File% /purge
Der reine robocopy-Befehl funktioniert zwar, aber der Ordnername wird nicht mitkopiert.

2. Problem:
for /d %%i in ("F:\Test-1\T_*") do echo robocopy "%%i" "F:\Test-2" /s /r:1 /w:1 /LOG:%Log_File% /purge
In Verbindung mit FOR geschieht nichts, obwohl der Befehl im Konsolen-Fenster richtig angezeigt wird.

Was mache ich den falsch?

Dank schon im Voraus!

Viele Grüße
Bayman52
Bitte warten ..
Mitglied: bastla
19.01.2015, aktualisiert 20.01.2015
Hallo Bayman52!

Wenn das Ziel "F:\Test-2\T_xxx" heißen soll, musst Du es auch so angeben ...
In Verbindung mit FOR geschieht nichts, obwohl der Befehl im Konsolen-Fenster richtig angezeigt wird.
Ändert sich das, wenn Du das echo (war zum Testen gedacht, damit Du zuerst sehen kann, was passieren würde) weglässt?
Ansonsten würde sich aber auch in diesem Fall eher
for /d %%i in ("F:\Test-1\T_*") do robocopy "%%i" "F:\Test-2\%~nxi" /s /r:1 /w:1 /LOG:%Log_File% /purge
anbieten ...

Grüße
bastla

{Edit] Tippfehler korrigiert [/Edit]
Bitte warten ..
Mitglied: Bayman52
19.01.2015 um 18:45 Uhr
Hallo bastla,

bei Deinem Vorschlag erhalte ich die Meldung:

Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~nxd" /s ...

Geben Sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate gültig sind.
Syntaxfehler

Viele Grüße
Bayman52
Bitte warten ..
Mitglied: schmitzi
LÖSUNG 20.01.2015, aktualisiert um 20:54 Uhr
Hi,

dann springe doch vorher einfach in das Quellverzeichnis, dann hat Dein Parameter %%i nur den Ordner, nicht den ganzen Pfad.
Dann kannst Du den Parameter auch für den Zielordner verwenden.

D:
CD \TEST
for /d %%i in ("T_*") do (
robocopy "%%i" "D:\TESTBACKUP\%%i" /E /R:3 /W:5 /COPY:DAT /NP /MIR /FFT
)

(Die RoboCopy-Parameter hinten bitte noch entsprechend anpassen, habe das hier beispielhaft für einen Mirror und ohne Log-File gemacht)

So gehts auf jeden Fall, habe ich getestet

Gruss RS
Bitte warten ..
Mitglied: bastla
LÖSUNG 20.01.2015, aktualisiert um 20:54 Uhr
Hallo Bayman52!

Tippfehler - sorry

Hab's oben korrigiert.

@ schmitzi
01.
D: 
02.
CD \TEST
ließe sich auf
cd /d D:\test
reduzieren bzw per
01.
pushd D:\test 
02.
... 
03.
popd
nur vorübergehend durchführen ...

Grüße
bastla
Bitte warten ..
Mitglied: Bayman52
20.01.2015 um 17:08 Uhr
Hallo bastla, hallo schmitzi,

recht herzlichen Dank, es funktioniert!

Ich hätte vermutlich noch einige Tage gebastelt und dann alles hingeworfen.
Aber es gibt ja Euch.

Ich wünsche Euch noch eine schöne Woche!

Viele Grüße
Bayman52
Bitte warten ..
Mitglied: schmitzi
20.01.2015 um 17:49 Uhr
ja supi.
Kannst Du uns ja noch auf "zur Lösung beigetragen" setzen.
Danke u Gruss
RS
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Datei in Ordner mit Batchdatei suchen und weiterverarbeiten (2)

Frage von MichaelWiggen zum Thema Batch & Shell ...

Exchange Server
gelöst Exchange und Dateisystem - Ordner extern archivieren und zusammenführen (10)

Frage von FA-jka zum Thema Exchange Server ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...