zi918103
Goto Top

Dateien eine Ebene höher

Hallo,

habe diese Bat gefunden, aber diese funktioniert nur wenn ich im jeweiligen Ordner bin.

for /d %%v in (*.*) do (
cd %%v
for /d %%u in (*.*) do (
cd %%u
move *.* ..
cd ..
rd %%u
)
cd ..
)

Meine Struktur ist derzeit:

Y:\Bilder
|
|--Verzeichnis_001\
| |
| |-- Unterordner_1\ Anzahl der Ordner variiert
| |
| |-- Unterordner_1\
| |
| |-- Dateien
|
|
|--Verzeichnis_002\
| |
| |-- Unterordner_1\ Anzahl der Ordner variiert
| |
| |-- Unterordner_1\
| |
| |-- Dateien
|
|--Verzeichnis_003\
| |
| |-- Unterordner_1\ Anzahl der ordner varriert
| |
| |-- Unterordner_1\
| |
| |-- Dateien


So soll es aussehen

|
|--Verzeichnis_001\
| |
| |-- Unterordner_1\ Anzahl der Ordner varriert
| |
| |-- Dateien
|

Nun will ich die .bat in Y:\Bilder\ starten, was aber nicht funktioniert. Starte ich sie hingegen in

Y:\Bilder\Verzeichnis_001\Unterordner_1\ bat.exe

funktioniert es.

So was muss ich nun ändern?

Danke und Gruß

Edit: Weiss nicht wie man Dateistruktur so einstellt das es richtig formatiert angezeigt wird. Hier ein Bild:

[url=http://imageupper.com/i/?A0300010040011Y14144449212298970][img]http://a03.imageupper.com/1_t/4/Y14144449212298970_1.jpg[/img][/url]

Content-ID: 253176

Url: https://administrator.de/contentid/253176

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

bastla
bastla 27.10.2014 aktualisiert um 23:00:48 Uhr
Goto Top
Hallo 918103 und willkommen im Forum!

Das könnte (ungetestet) etwa so gehen:
@echo off & setlocal
for /d %%v in ("Y:\Bilder\*.*") do (  
    for /d %%u in ("%%v\*.*") do (  
        for /d %%z in ("%%u\*.*") do (  
            echo move "%%z\*.*" "%%u\"  
            echo rd "%%z"  
        )
    )
)
pause
Die echo in den Zeilen 5 und 6 sorgen für eine Simulation - es werden die Verschiebe- und Löschbefehle nur angezeigt, aber nicht ausgeführt. Wenn Du diese echo entfernst, passiert's wirklich (daher vielleicht zur Sicherheit zuerst einmal nur auf eine Teststruktur loslassen ... face-wink).

Grüße
bastla

[Edit] Klammer in Zeile 4 ergänzt [/Edit]
zi918103
zi918103 27.10.2014 aktualisiert um 22:57:58 Uhr
Goto Top
Hi,

wenn ich auf die .bat klicke öffnet sich kurz CMD und schliesst wieder
bastla
bastla 27.10.2014 um 22:59:48 Uhr
Goto Top
Hallo 918103!

Wird's besser mit der Klammer, die ich oben am Ende der Zeile 4 hinzugefügt habe?

Grüße
bastla
zi918103
zi918103 27.10.2014 um 23:05:46 Uhr
Goto Top
Yep. Dank dir =D
franky303
franky303 03.11.2014 aktualisiert um 18:12:46 Uhr
Goto Top
Noch eine alternative, man kann im .bat File einfügen:

cd "%~dp0"  

wobei %~dp0 für jenen Pfad steht, in dem das .bat File selbst liegt. So kann man sichergehen, dass er auch dort startet, wo das Batch file liegt, auch wenn es von einem anderen Pfad aus aufgerufen wurde.

LG
bastla
bastla 03.11.2014 um 18:00:59 Uhr
Goto Top
Hallo franky303 und willkommen im Forum!

Wenn schon, dann aber gleich richtig:
cd /d "%~dp0"
oder
pushd "%~dp0"
Grüße
bastla

P.S.: Die Anleitung zur "Code"-Formatierung findest Du hier ...
franky303
franky303 03.11.2014, aktualisiert am 04.11.2014 um 08:05:08 Uhr
Goto Top
Hallo auch!

@code-formatierung: Danke!

Ja stimmt CD /D macht Sinn ...