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

Bestimmte Dateien aus Parallelordnern in einen Ordner verschieben

Frage Entwicklung Batch & Shell

Mitglied: Gurkenhobel

Gurkenhobel (Level 1) - Jetzt verbinden

13.10.2012 um 11:04 Uhr, 2444 Aufrufe, 7 Kommentare

Hallo Helfer,
wiedereinmal stehe ich vor einem (für mich zumindest) unlösbaren Problem. Mit dem Batch-Befehl
01.
MD ZUSAMMEN 
02.
for /r %%Z in ("1???? *.jpg" "2???? *.jpg" "3???? *.jpg" "4???? *.jpg") do move "%%Z" ZUSAMMEN /b /v   
03.
for /r %%Z in ("1???? *.jpg" "2???? *.jpg" "3???? *.jpg" "4???? *.jpg") do (echo %%Z >> ZUSAMMEN\Liste.txt)
kann ich wunderbar alle JPG-Dateien (5 Stellen Numerisch, 1 Leerzeichen, der Rest Alphanumerisch mit Leerzeichen) aus allen Unterordnern in den Ordnern ZUSAMMEN verschieben und den Quellordner auch protokollieren.

Wie bekomme ich das gleiche Ergebnis, wenn ich die Batchdatei aus einem Parallelordner aufrufe, also z.B. aus dem Ordner ZUSAMMEN. Mit "..\" geht es nicht, egal ob ich es vor die öffnende Klammer setze oder z.B.
"..\1???? *.jpg" 
benütze. Was kann man tun? Mit "dir /s /b ..\1???? *.jpg" funktioniert es ja auch.

Danke vorab vielmals.

Grüße GH
Mitglied: 60730
13.10.2012, aktualisiert um 12:01 Uhr
Moin,

Kann ja sein, dass ich mich irre, aber das leerzeichen zwischen den ? Und der folgende * (vor dem .jpg). Das sieht fuer mich nicht so aus, als ob das wirklixh haarschrf das macht, was es laut beschreibung machen soll.

Anyways...
Schau mal, was pushd und popd koennen oder nutze einfach ein simples cd .. vormder schleife.

Wobei so ganz ist mir das ziel immer noch nicht..
Schreib das mal genauer auf.
Vielleicht liegts aber auch an minem kaffee

Gruss
Bitte warten ..
Mitglied: Gurkenhobel
13.10.2012 um 12:54 Uhr
Hi,
danke für den Tip. Kann aber mit pushd und popd momentan nix anfangen - die Windows-Konsolenhilfe bietet dazu keine Beispiele. Habe es erstmal so gelöst:
01.
cd ..  
02.
REM einen Ordner höher (vom Ordner TEST einen höher in der Hierarchie) 
03.
MD ZUSAMMEN ' also den Parallel-Ordner von TEST machen 
04.
for /r %%Z in ("1???? *.jpg" "2???? *.jpg" "3???? *.jpg" "4???? *.jpg") do move "%%Z" ZUSAMMEN /b /v   
05.
for /r %%Z in ("1???? *.jpg" "2???? *.jpg" "3???? *.jpg" "4???? *.jpg") do (echo %%Z >> ZUSAMMEN\Liste.txt) 
06.
cd TEST ' von hier aus wurde das Batch gestartet
Das mit dem Leerzeichen stimmt schon (deshalb auch die Gänsefüsel) und das Batch macht auch das was es soll
Dateinamen sind z.B.:
11056 Königshofen im Grabfeld.jpg 
30087 Brandenburg an der Havel.jpg 
49726 Au in der Hallertau.jpg
Groetjes GH
Bitte warten ..
Mitglied: bastla
13.10.2012, aktualisiert um 13:27 Uhr
Hallo Gurkenhobel!

Du musst ja nicht der Schleife vorgeben, in welchem Ordner sie starten soll (was auch ginge - schau dir einmal die Hilfe zu "for /r" an), sondern einfach den Zielordner festlegen (auch mit relativem Pfad möglich) - gleich auf eine Schleife reduziert und für den Parallelordner) ungetestet etwa so:
01.
for /r %%Z in ("1???? *.jpg" "2???? *.jpg" "3???? *.jpg" "4???? *.jpg") do ( 
02.
    move "%%Z" ..\ZUSAMMEN\ 
03.
    echo %%Z 
04.
)>>..\ZUSAMMEN\Liste.txt
Was wolltest Du übrigens mit "/b /v" erreichen?

Grüße
bastla
Bitte warten ..
Mitglied: Gurkenhobel
14.10.2012 um 11:19 Uhr
Schön Sonntag Bastla,
ja Dein Script ist kürzer. Aber das hinter dem DO die Befehle einzeilig in eine Klammer zu schreiben funktioniert so nicht. Habe daher mein vorheriges Script (Zeilen 4 und 5) um den übergeordneten Ordner ..\ erweitert.
Das /b /v ist wohl noch ein Überbleibsel, als ich aus Sicherheitsgründen COPY statt MOVE verwendete und vergaß diese Parameterangeben zu tilgen. MOVE kennt ja keinen Befehl um das korrekte Schreiben zu überprüfen.

Grüße
GH
Bitte warten ..
Mitglied: bastla
14.10.2012, aktualisiert um 14:20 Uhr
Hallo Gurkenhobel!
Aber das hinter dem DO die Befehle einzeilig in eine Klammer zu schreiben funktioniert so nicht.
Dass Du Oneliner bevorzugst, war Deinem bisherigen Ansatz ja nicht zu entnehmen - aber bitte:
for /r %%Z in ("1???? *.jpg" "2???? *.jpg" "3???? *.jpg" "4???? *.jpg") do (move "%%Z" ..\ZUSAMMEN\ & echo %%Z)>>..\ZUSAMMEN\Liste.txt
Den Ordner "ZUSAMMEN" musst Du aber trotzdem vorweg erstellen ...

Grüße
bastla
Bitte warten ..
Mitglied: Gurkenhobel
14.10.2012 um 15:17 Uhr
Hallo bastla
Zitat von bastla:
Dass Du Oneliner bevorzugst, war Deinem bisherigen Ansatz ja nicht zu entnehmen - aber bitte:
Nein, Da hast Du mich wohl etwas fehl verstanden oder ich habe mich unklar ausgedrückt. Oneliner bevorzuge ich nicht, aber Dein Code vom 13. sah doch ein bisserl komisch aus...
Nicht-Onliner sind eben doch übersichtlicher.
Trotzdem danke und tschüs
GH
Bitte warten ..
Mitglied: bastla
14.10.2012 um 20:51 Uhr
Hallo Gurkenhobel!
Dein Code vom 13. sah doch ein bisserl komisch aus...
Nicht-Onliner sind eben doch übersichtlicher.
Nicht, dass ich Dir folgen könnte, aber was soll's ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows Netzwerk
Dateien und Ordner verschieben mit Rückfrage (1)

Frage von stefts zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...