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-Key: 253176

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

Printed on: April 19, 2024 at 21:04 o'clock

Member: bastla
bastla Oct 27, 2014 updated at 22:00:48 (UTC)
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]
Member: zi918103
zi918103 Oct 27, 2014 updated at 21:57:58 (UTC)
Goto Top
Hi,

wenn ich auf die .bat klicke öffnet sich kurz CMD und schliesst wieder
Member: bastla
bastla Oct 27, 2014 at 21:59:48 (UTC)
Goto Top
Hallo 918103!

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

Grüße
bastla
Member: zi918103
zi918103 Oct 27, 2014 at 22:05:46 (UTC)
Goto Top
Yep. Dank dir =D
Member: franky303
franky303 Nov 03, 2014 updated at 17:12:46 (UTC)
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
Member: bastla
bastla Nov 03, 2014 at 17:00:59 (UTC)
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 ...
Member: franky303
franky303 Nov 03, 2014, updated at Nov 04, 2014 at 07:05:08 (UTC)
Goto Top
Hallo auch!

@code-formatierung: Danke!

Ja stimmt CD /D macht Sinn ...