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

Datei mit Ordnernamen umbenennen, aus Ordner verschieben und diesen löschen!

Frage Entwicklung Batch & Shell

Mitglied: Andichrist

Andichrist (Level 1) - Jetzt verbinden

19.01.2008, aktualisiert 23.10.2008, 10961 Aufrufe, 23 Kommentare

Hallo an alle!

Bin leider eher ein Batch-Novize, ... vielleicht könnt Ihr mir hier weiter helfen!
Danke im Voraus für Eure Hilfe!

Ich habe folgende Herausforderung, die es zu lösen gilt:

in einer Ordner z.B. c:\temp habe ich mehrere Unterordner (Anzahl variiert) c:\temp\Verzeichnis 1, c:\temp\Verzeichnis B... in dem sich mehrere Dateien befinden.
- diese Dateien sollen den Namen des Ordners z.B. Verzeichnis 1.txt, Verzeichnis B.txt ... erhalten in dem sie sich befinden - bei Beibehaltung der Endung!
- anschließend in den darunter liegenden Ordner hier im Beispiel c:\temp\ verschoben werden.
- das leere Verzeichnis soll anschließend gelöscht werden (am Ende sollen alle Verzeichnisse/ Ordner gelöscht sein!).

Wie kann dies in einer Batch realisiert werden? Die Batch soll systematische alle Ordner in einem frei wählbaren Verzeichnis abarbeiten!

Aufbau-Beispiel:

Die Ordner liegen z.B. alle in c:\Temp\

Verzeichnis 1
Datei x.jpg
Datei x.txt

Verzeichnis B
Noch eine Datei z.jpg
Noch eine Datei z.txt

Verzeichnis 3
Eine weitere Datei.jpg
Eine weitere Datei.txt

Als Ergebnis nach dem Batchaufruf sollte im Verzeichnis c:\temp\ nur noch zu finden sein:

Verzeichnis 1.jpg
Verzeichnis 1.txt
Verzeichnis B.jpg
Verzeichnis B.txt
Verzeichnis 3.jpg
Verzeichnis 3.txt

Ideal wäre es, wenn man dies in einer Batch lösen könnte, die ab nicht statisch/ starr nur in einen bestimmten Verzeichnis z. B. c:\temp\ funktioniert, sondern die nach belieben einfach in ein Verzeichnis kopiert und aufgerufen werden kann!

Ich habe keine Idee wie man das realisieren könnte. Weiß hier jemand Rat und könnte mir helfen!

Ich wäre für jede Lösung dankbar.

Viele Grüße
Andichrist
Mitglied: miniversum
19.01.2008 um 10:53 Uhr
Versuchs mal so, aber erst ausprobieren!!!):
01.
@echo off 
02.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
03.
copy "%%i\*.*" "%%i.*" 
04.
rd /s /q "%%i" 
05.
)
miniversum
Bitte warten ..
Mitglied: Andichrist
21.01.2008 um 08:38 Uhr
Versuchs mal so, aber erst ausprobieren!!!):
01.
@echo off 
02.
> FOR /F "delims=" %%i in ('dir 
03.
> /B /AD') do ( 
04.
> copy "%%i\*.*" "%%i.*" 
05.
> rd /s /q "%%i" 
06.
> ) 
07.
> 
miniversum

Hallo miniversum,

danke für Deine Bemühungen und Deinen Ansatz!

Deine Routine funktioniert soweit ganz gut! Allerdings nur, wenn im Verzeichnisnamen sowie Dateinamen KEIN PUNKT "." vorhanden ist (ausgenommen ist der Punkt vor der Extension)! Der Punkt wird als "Trennmarke" angesehen.


U:\_Test\111\AAA.BBB.bat => U:\_Test\111.BBB.bat
U:\_Test\BBB.BBB\AAAA.AAAA.Hallo.Welt.bat => U:\_Test\BBB.BBB.Hallo.Welt.bat
U:\_Test\BBB.BBB\Hallo.bat => Zugriff verweigert

Also leider funktioniert diese Lösung "nur" 100% zuverlässig, wenn keine zusätzlichen PUNKTE im Ordnernamen sowie Dateinamen vorhanden sind!

Gibt es eine Möglichkeit das Problem zu umgehen, damit auch ausnahmslos alle Zeichen berücksichtigt werden?

Danke im Voraus für eure Hilfe!

Liebe Grüße
Andichrist
Bitte warten ..
Mitglied: miniversum
21.01.2008 um 14:51 Uhr
Damit sollte es gehen:
01.
@echo off 
02.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
03.
FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do copy /-Y "%%i\%%j" "%%i%%~xj" 
04.
rd /s /q "%%i" 
05.
)
Bitte warten ..
Mitglied: Andichrist
22.01.2008 um 20:07 Uhr
Hallo @miniversum!

Du bist mein Held des Tages...

Die Aufgabe wurde von Dir mit Bravur in kürzester Zeit gelöst und Deine "miniversum" Batch rennt wie der Teufel.


Anmerkung:
Meine favorisierte Lösung tendierte eher zum "move" - Befehl! Der "Copy"-Befehl benötigt eine erhöhten Zeitaufwand, vor allen Dingen bei eine großen Mengen an Dateien die "umgeschaufelt" werden müssen!

Aber ein großer Pluspunkt spricht für die hier genannte Lösung! >>Sicherheit<<
Denn erst wenn die Datei ordnungsgemäß kopiert wurde wird gelöscht! Wenn beim "move"-Befehl z. B. das Volume voll ist, hat man Pech gehabt.

Wer möchte kann die "COPY" Anweisung durch den MOVE"-Befehl ersetzen! Das geht um einiges schneller!

WICHTIG:
Achtung bei gleichen Datei-Endungen gewinnt die letzte Datei mit dieser Endung!!!
Vorherige Datei mit gleicher Endung wird kommentarlos überschrieben!!!

Vielen Dank
Andichrist
Bitte warten ..
Mitglied: Karlooser
13.02.2008 um 08:40 Uhr
Hallo @Universum,

habe durch googeln den Beitrag gefunden und war ganz begeistert, da ich gerade eine verhunzte nero-Sicherung reparire. So mit umbenennen .nco in .zip. Beim entpacken wird dann je datei ein Verzeichnis angelegt, das so heißt, wie die ursprüngliche Date.

Habe mich gleich angemeldet und bitt gleich um Hilfe.

Habe dann also so was:

Unterverzeichnis\dateiname.jpg\dateiname.jpg

Dabei ist das erste "dateiname.jpg" natürlich der Verzeicnisname und danach die Datei "dateiname.jpg".

Die batch macht mir daraus

dateiname.jpg.jpg

Alle meine Versuch waren erfolglos. Zuerst habe ich mal rumprobiert, einfach um rauszukriegen was die batch macht. Zunächst habe ich die Datei umbenannt und die Erweiterung jpg weggelassen. Dann werde ich gefragt, ob ich überschreiben möchte, worauf aber nichts passiert.

Das Gleiche passier, wenn ich in der batch das %%~xj weglasse.

Das funktioniert dann, wenn ich den Dateinamen verändere, indem ich in der batch z.B. eine 0 vor den Dateinamen mache 0"%%i%%~xj". Dann klebt halt immer eine 0 davor, aber die batch funktioniert., ich nehme an, weil der Dateiname und der Veruzeichnisname nicht mehr identisch sind.

Ich hoffe, es ist rübergekommen, was ich meine und probiert habe. Da ich ein Laie bin und nur rudimentäre Kenntnisse aus alten dos-Zeten habe, komme ich nicht wieter.

Danke und Gruß

Karlooser
Bitte warten ..
Mitglied: miniversum
13.02.2008 um 11:52 Uhr
So ganz verstehe ich es nciht. Kanst du mal beispiele machen was du jetzt hast und was du haben willst?
Jetzt:
Unterverzeichnis\dateiname.jpg\dateiname.jpg
Gewünscht:
Unterverzeichnis\dateiname.jpg
oder wie?
Bitte warten ..
Mitglied: Karlooser
13.02.2008 um 16:07 Uhr
Hallo miniversum,

ja genau so. Ich hab' ncoch ein bisschen rumprobiert und krieg mit der Version

FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do copy /-Y "%%i\%%j" ..\"%%~ni%%~xj"
rd /s "%%i"

ein Ergebnis. Dadurch dass ich für's Testen die Datei eine Verzeichnis- Ebene weiter kopiert habe, wurde die Datei richtig gespeichert und auch das Verzeichnis gelöscht, aber komischerweise hat es das Verzeichnis selbst nicht gelöscht (?).

Nochmal meine Struktur:

c:\Testordner\Testunterorder\testdatei.doc\Testdatei.doc (den Dateinamen habe ich absichtlich groß geschrieben, dadurch konnte ich erkennen, das die Datei mit dem Verzeichnisname "testdatei.doc" kopiert wurde).

Die Datei wurde mit obiger batch dann nach c:\Testordner kopiert. im Test-Unterordner steht dann noch die batch selbst und der Ordner testdatei.doc ist leer, aber noch da.

Gerne hätte ich die Datei aber im Verzeichnis Test-Unterordner und natürlich das Verzeichnis testdatei.doc gelöscht.

Danke für Deine Hilfe.

Karlooser
Bitte warten ..
Mitglied: miniversum
13.02.2008 um 16:52 Uhr
Wenn deine Batch im Ordner c:\Testordner\ liegt dann soltle es os gehen:
FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%j" /B /AD') do (
FOR /F "delims=" %%k in ('dir "%%k" /B /A-D') do copy /-Y "%%i\%%j\%%k" "%%k"
)
rd /s "%%i"
)

Die Variabelnverteilung wäre dann so:
c:\Testordner\Testunterorder\testdatei.doc\Testdatei.doc
%%i %%j %%k

miniversum
Bitte warten ..
Mitglied: Karlooser
13.02.2008 um 20:39 Uhr
hmmm, leider funktioniert das so gar nicht (kann datei nicht finden und es ist zu sehen, dass %%i noch gelesen wird, dann ist schluss.

hinter dem copy /-y wird noch angezeigt "Testunterordner\%j\%k" "%k" )
)
Datei nicht gefunden
Möchten sie "Testunterordner"löschen (J/N)?

Also werden j und k nicht gelesen. Nach meinem Verständnis (wenn ich in der "alten" batch schau) müsste es auch lauten:


FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do (
FOR /F "delims=" %%k in ('dir "%%j" /B /A-D') do copy /-Y "%%i\%%j\%%k" "%%k"
)
rd /s "%%i"
)

dann bin ich zumindest einen Schritt weiter:

hinter dem copy /-y wird noch angezeigt "Testunterordner\testdatei.jpg\%k" "%k" )
)
Datei nicht gefunden
Möchten sie "Testunterordner"löschen (J/N)?

Irgendwie fehlt noch die Datei "Testdatei.jpg" selbst. Die müsste doch an k übergeben werden.


Ich hab's!
FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do (
FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do copy /-Y "%%i\%%j\%%k" "%%j"

So wird einwandfrei kopiert!

Nur funktioniert rd /s "%%i/%%j" nicht, wenn nur das Verzeichnis testdatei.jpg gelöscht werden soll.


Gruß Karlooser
Bitte warten ..
Mitglied: miniversum
13.02.2008 um 21:00 Uhr
Ja hast natürlich recht. das war ein Fehler von mir.
Hab den Fehler noch gefunden.
So sollte es gehen:
FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do (
FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do copy /-Y "%%i\%%j\%%k" "%%k"
)
rd "%%i"
)

miniversum
Bitte warten ..
Mitglied: Karlooser
13.02.2008 um 21:53 Uhr
ich bin auch ganz schön stolz, habe so ohne Ahnung und mit dos /? -Hilfe die Befehle und Parameter angeguckt und nachvollzogen, was Du so gemacht hat.

eine Kleinigkeit ist noch am Ende der kopiererei muss es auch do copy /-Y "%%i\%%j\%%k" "%%j" sein, weil ich ja den Verzeichnisnamen als neuen Dateinamen haben will.

Noch 'ne Kleinigkeit:

wir überrede ich das rd /s dazu nicht den Testunterordner und alles drunter zu löschen, sondern das Testverzeichnis.

rd /s "%%i" löscht das Testverzeichnis

habe schon rd /s "%%i\%%j" probiert, dakommt aber wollen Sie... Testverzeichnis\%j löschen ? raus.

Hast Du da eine Idee?

Danke und Gruß Karlooser
Bitte warten ..
Mitglied: miniversum
14.02.2008 um 11:05 Uhr
ich bin auch ganz schön stolz, habe so ohne Ahnung und mit dos /? -Hilfe die Befehle und Parameter angeguckt und nachvollzogen, was Du so gemacht hat.
Ja so lernt man es am besten denke ich.

eine Kleinigkeit ist noch am Ende der kopiererei muss es auch do copy /-Y "%%i\%%j\%%k" "%%j" sein, weil ich ja den Verzeichnisnamen als neuen Dateinamen haben will.
Achso. Ich dachte die dateien haben schon den richtigen namen. Ja klar dann stimmt es so wie du es hast. Aber sollte das nicht fast egal sein? Ich dachte die Verzeichnissnamen und die Dateinamen wären gleich?: Unterverzeichnis\dateiname.jpg\dateiname.jpg

Noch 'ne Kleinigkeit:

wir überrede ich das rd /s dazu nicht den Testunterordner und alles drunter zu löschen, sondern das Testverzeichnis.

Versuchs mal so:
01.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
02.
  FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do ( 
03.
    FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do copy /-Y "%%i\%%j\%%k" "%%j" 
04.
    rd /s "%%j" 
05.
06.
)
miniversum
Bitte warten ..
Mitglied: Karlooser
14.02.2008 um 22:32 Uhr
Hallo miniversum,

Verzeichnislöschen funktioniert bei mir nicht. Es kommt die Frage, Verzeichnis löschen...? und es ist auch der richtige Verzeichnisname. Nur gelöscht wird nichts.

Lösche jetzt von hand. Sonst läuft die batch prima und ich hebe schon das Meiste meines kaputten nero-backups versorgt.
Ich probier nochmal, nur habe dieses WE keine Zeit.

Danke nochmals für Deine Hilfe.

Gruß Karlooser
Bitte warten ..
Mitglied: miniversum
15.02.2008 um 08:02 Uhr
Dann versuchs mal noch mit dem Parameter /Q
Also
rd /s /q "%%j"

miniversum
Bitte warten ..
Mitglied: xercxes
23.10.2008 um 11:17 Uhr
Hallo. Habe diesen Beitrag per google gefunden und find es klasse. Auch wenn ich keinen plan von programmieren habe, hoffe ich das ich vielleicht eine lösung bekomme.

Ich hab folgendes Problem:

Momentan habe ich, aufgrund eines Lehrgangs, sehr viel zu scannen. Ich mache das mit einem Canon-Scanner und Patchseiten. Dadurch wird immer wieder ein neuer Ordner erstellt sobald eine dieser Seiten kommt. Und mir fehlt einfach die nötige Zeit meine Dateien ordentlich umzubenennen.

Habe mir mal diesen Thread durchgelesen und denke das die o. g. Batch-Datei für mich teilweise in Frage kommt. Habe es auch ausprobiert, aber es sind 2 Dinge die anders sein müssten.
Ist es möglich 2 kleine Veränderungen daran vorzunehmen?


Beispiel:
Laufwerk: C:
Ordner: XYZ
Unterordner: AAA bis ZZZ (Anzahl variiert)
Datei im Unterordner: xxxxx.jpg (Anzahl variiert)

Die neue Datei im Unterordner sollte nach der Umbenennung wie folgt aussehen: AAA.jpg (Name des Unterordners+Nr.)

In jedem Ordner sollen die *.jpg Dateien im wieder ab 0001 durchnummeriert werden.

Und die umgenannten Dateien sollen auch nicht in ein anderes Verzeichnis kopiert werden, sonder da bleiben wo sie sind.



Vielen Dank schon mal im Voraus.

Gruß xercxes
Bitte warten ..
Mitglied: frankie1971
26.04.2009 um 11:38 Uhr
Tag zusammen.

Mit dem Batch
@echo off
FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do move /-Y "%%i\%%j" "%%i%%~xj"
rd /s /q "%%i"
)
komme ich schon mal gut zurecht. Vielen Dank dafür.

Könnte man da eventuell noch eine Erweiterung einbauen?

Nehmen wir an, der Hauptordner heisst "Italien 2008" und in diesem Ordner sind beispielsweise zwei Unterordner namens "Woche 1" und "Woche 2" mit je einer Videodatei.

Ist: c:\Italien 2008\Woche 1\video1.wmv und c:\Italien 2008\Woche 2\video2.wmv
Soll: c:\Italien 2008.Woche1.video1.wmv und c:\Italien 2008.Woche2.video2.wmv

Geht das irgendwie?

Vielen Dank schon mal im voraus.
Bitte warten ..
Mitglied: miniversum
26.04.2009 um 12:04 Uhr
Ungetestet versuchs mal so:
01.
@echo off 
02.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
03.
  FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do move /-Y "%%i\%%j" "%%i%%~xj" 
04.
  rd /s /q "%%i" 
05.
  FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do ( 
06.
    FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do move /-Y "%%i\%%j\%%k" "%%i.%%j.%%~xk" 
07.
    rd /s /q "%%i\%%j" 
08.
09.
)
Bitte warten ..
Mitglied: frankie1971
26.04.2009 um 12:44 Uhr
Geht leider nicht. Haupt- und Unterordner (samt Dateien) verschwinden einfach. Dateien, die indes im Hauptordner liegen, werden - wie im Deinem vorherigen Batch - berücksichtigt.
Bitte warten ..
Mitglied: miniversum
26.04.2009 um 13:28 Uhr
Versuchs mal damit:
01.
@echo off 
02.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
03.
  dir "%%i" /B /A-D >NUL 2>NUL && FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do move /-Y "%%i\%%j" "%%i%%~xj" 
04.
  FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do ( 
05.
    FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do move /-Y "%%i\%%j\%%k" "%%i.%%j%%~xk" 
06.
07.
  rd /s /q "%%i" 
08.
)
Das problem war dass das Vezeichniss gelöscht wurde bevor es ausgelesen werden konnte.
Teste es damit mal. Das sollte besser gehen.
Bitte warten ..
Mitglied: frankie1971
26.04.2009 um 13:37 Uhr
Supi. Das klappt wunderbar. Du bist der Beste

Was müsste man noch hinzufügen, wenn man die Batch-Datei in einen Oberorder - sagen wir mal - "Urlaube" positionieren würde? Denn ich hätte da mehrere Hauptordner (Italien 2008 etc.) und müsste dann nicht in jeden Hauptordner die Batch-Datei kopieren und einzeln ausführen.

Vielen Dank erstmal dafür und noch einen schönen Restsonntag.
Bitte warten ..
Mitglied: miniversum
26.04.2009 um 16:22 Uhr
Willst du das diese Unterordner dann auch ALLE verarbeitet werden?
oder nur ein einzelner jeweils?
Fall1: Alle Unterordner verarbeiten:
01.
@echo off 
02.
FOR /F "delims=" %%a in ('dir /B /AD') do ( 
03.
pushd "%%i" 
04.
call:verarbeite 
05.
popd 
06.
07.
goto:eof 
08.
 
09.
:verarbeite 
10.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
11.
  dir "%%i" /B /A-D >NUL 2>NUL && FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do move /-Y "%%i\%%j" "%%i%%~xj" 
12.
  FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do ( 
13.
    FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do move /-Y "%%i\%%j\%%k" "%%i.%%j%%~xk" 
14.
15.
  rd /s /q "%%i" 
16.
17.
goto:eof
Fall2: Der ordner der mit der Maus auf die Batch gezogen wird wird verarbeitet:
01.
@echo off 
02.
pushd "%~1" 
03.
call:verarbeite 
04.
popd 
05.
goto:eof 
06.
 
07.
:verarbeite 
08.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
09.
  dir "%%i" /B /A-D >NUL 2>NUL && FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do move /-Y "%%i\%%j" "%%i%%~xj" 
10.
  FOR /F "delims=" %%j in ('dir "%%i" /B /AD') do ( 
11.
    FOR /F "delims=" %%k in ('dir "%%i\%%j" /B /A-D') do move /-Y "%%i\%%j\%%k" "%%i.%%j%%~xk" 
12.
13.
  rd /s /q "%%i" 
14.
15.
goto:eof
Bei der ersten Möglichkeit wird davon ausgegangen das die Batch eine Ordnerebene höher liegt. Soll die Batch auch wo ganz anders liegen können kannst du die zweite Zeile so abändern:
FOR /F "delims=" %%a in ('dir /B /AD C:\urlaube') do (
Bei der Zweiten Batchdatei ist es egal wo die Batch und der zu verarbeitende Ordner liegt.
Bitte warten ..
Mitglied: frankie1971
27.04.2009 um 07:42 Uhr
Supi. Fall1 ist genau richtig...

Nochmals vielen lieben Dank an Dich...
Bitte warten ..
Mitglied: Marcel2001
24.10.2009 um 12:22 Uhr
Zitat von Andichrist:

Aufbau-Beispiel:

Die Ordner liegen z.B. alle in c:\Temp\

Verzeichnis 1
Datei x.jpg
Datei x.txt

Verzeichnis B
Noch eine Datei z.jpg
Noch eine Datei z.txt

Verzeichnis 3
Eine weitere Datei.jpg
Eine weitere Datei.txt

Als Ergebnis nach dem Batchaufruf sollte im Verzeichnis c:\temp\
nur noch zu finden sein:

Verzeichnis 1.jpg
Verzeichnis 1.txt
Verzeichnis B.jpg
Verzeichnis B.txt
Verzeichnis 3.jpg
Verzeichnis 3.txt

Ideal wäre es, wenn man dies in einer Batch lösen


Hallo Zusammen,
nach langem suchen bin ich auf eure Seite gestoßen.

Ich such fast genau so ein Batch (der super funktioniert) , allerdings möchte ich die Ordnerstruktur behalten nach dem umbenennen.
D.h. die Dateien im Unterordner sollen nur nach dem Ordner umbennant werden.
Ist das machbar???

Vielen Dank

Gruß
Marcel2001
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateiname entsprechend einem um x-Ebenen übergeordeten Ordnernamen umbenennen (3)

Frage von Booster07 zum Thema Batch & Shell ...

Vmware
gelöst Manche VMs lassen sich nicht in Ordner verschieben (3)

Frage von Zippo97 zum Thema Vmware ...

Batch & Shell
gelöst Ordnerinhalt mit Ordnernamen umbenennen (5)

Frage von Rotnasenkater 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 ...