dateien aus einem unterverzeichnis eins höher verschieben

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

dateien aus einem unterverzeichnis eins höher verschieben

Post by *versalzen »

hallo,

ich habe folgendes problem und würde dieses gerne mittels TC lösen.

gegeben ist eine verzeichnisstruktur:

C:\test\bla1\uverz\datei1.ext
C:\test\bla1\uverz\datei2.ext
C:\test\bla1\uverz\dateiN.ext
C:\test\bla2\uverz\datei1.ext
C:\test\bla2\uverz\datei2.ext
C:\test\bla2\uverz\dateiN.ext
C:\test\blaN\uverz\datei1.ext
C:\test\blaN\uverz\datei2.ext
C:\test\blaN\uverz\dateiN.ext

wobei 'N' = unendlich viele sind ;-)
'bla' und 'datei*' sind allesamt variabel.

das einzige, was fest steht, ist also der verzeichnisname 'uverz' und das laufwerk.

nun möchte ich gerne alle dateien aus jedem verzeichnis 'uverz' in das darübergelegene verzeichnis verschieben.

z.b. verschiebe C:\test\bla2\uverz\datei2.ext nach C:\test\bla2\datei2.ext
oder verschiebe C:\test\bla3\uverz\datei1.ext nach C:\test\bla3\datei1.ext

aber eben bitte nicht manuell.

lässt sich das mit dem TC lösen? evtl. plugins?
das einzige was ich an plugins bisher gefunden habe was "TreeCopyPlus", aber das hörte sich nur so an, als ob es passen würde.

wär schön, falls jemand eine idee hat, die sich auf den TC bezieht.
bash-/perl- oder php-scripte sind mir zwar möglich aber möchte ich nur ungerne benutzen.

schöne grüsse, mario
Amba
Junior Member
Junior Member
Posts: 61
Joined: 2004-01-27, 15:21 UTC
Location: Bayern

Post by *Amba »

bash-/perl- oder php-scripte sind mir zwar möglich aber möchte ich nur ungerne benutzen.
Wären aber sinvoller und einfacher
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Re: dateien aus einem unterverzeichnis eins höher verschiebe

Post by *Sheepdog »

versalzen wrote:hallo,

ich habe folgendes problem und würde dieses gerne mittels TC lösen.

gegeben ist eine verzeichnisstruktur:

C:\test\bla1\uverz\datei1.ext
C:\test\bla1\uverz\datei2.ext
C:\test\bla1\uverz\dateiN.ext
C:\test\bla2\uverz\datei1.ext
C:\test\bla2\uverz\datei2.ext
C:\test\bla2\uverz\dateiN.ext
C:\test\blaN\uverz\datei1.ext
C:\test\blaN\uverz\datei2.ext
C:\test\blaN\uverz\dateiN.ext

wobei 'N' = unendlich viele sind ;-)
'bla' und 'datei*' sind allesamt variabel.

das einzige, was fest steht, ist also der verzeichnisname 'uverz' und das laufwerk.

nun möchte ich gerne alle dateien aus jedem verzeichnis 'uverz' in das darübergelegene verzeichnis verschieben.

z.b. verschiebe C:\test\bla2\uverz\datei2.ext nach C:\test\bla2\datei2.ext
oder verschiebe C:\test\bla3\uverz\datei1.ext nach C:\test\bla3\datei1.ext

aber eben bitte nicht manuell.

lässt sich das mit dem TC lösen? evtl. plugins?
das einzige was ich an plugins bisher gefunden habe was "TreeCopyPlus", aber das hörte sich nur so an, als ob es passen würde.

wär schön, falls jemand eine idee hat, die sich auf den TC bezieht.
bash-/perl- oder php-scripte sind mir zwar möglich aber möchte ich nur ungerne benutzen.

schöne grüsse, mario
Speichere Dir folgendes als "alle eins raufkopieren.bat"

Code: Select all

for /f "delims=" %%a in (%1) do echo  "%%a*.*" "%%a.." >> c:\log.txt
for /f "delims=" %%a in (%1) do move /-Y "%%a*.*" "%%a.." 
Nimm die Datei mit der Maus und lasse sie mit gedrückter rechter Maustaste oder gedrückter [Umsch] Taste auf die Buttonbar fallen. Es ensteht ein neuer Button. Füge für diesem Button den Parameter: %L ein.

Nun suche einfach nach "uverz", und in Erweitert nach Verzeichnis

Wenn TC fertig ist, auf Anwenden klicken (bzw. [alt]+[w]) dann [Strg]+[Num+] drücken, um alle auszuwählen und auf den button drücken. Damit werden alle Dateien die sich in den markierten Unterverzeichnissen eins höher kopiert. Wenn Du das Überschreiben evtl vorhandener Dateien nicht bestätigen möchtest, dann ändere das /-Y in der Batch nach /Y.

sheepdog
Last edited by Sheepdog on 2005-07-14, 15:27 UTC, edited 1 time in total.
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Re: dateien aus einem unterverzeichnis eins höher verschiebe

Post by *versalzen »

*das* ist die perfekte lösung für mich.

sei vielmals bedankt!

habe es, da ich die button-bar wg. platzmangel nicht nutze, als startmenü-eintrag angelegt. funktioniert auch mit read-only dateien.

mario
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

'n Abend, Sheepdog.
Speichere Dir folgendes als "alle eins raufkopieren.bat"
Wäre als Name nicht "alle eins raufverschieben.bat" korrekt?
Denn deine Befehlszeile benutzt "move", nicht "copy" oder "xcopy".
Und "move" verschiebt nun mal und kopiert nicht.
(Verschieben war ja auch von versalzen gewünscht, nur das Etikett ist halt unzutreffend.)

Karl
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

karlchen wrote:Wäre als Name nicht "alle eins raufverschieben.bat" korrekt?
Naja, ich (oder er) hätte das Ding auch "sheepdogs SUperbatch.cmd" nennen können, gemacht hätte es dasselbe. ;) :lol:

Aber im Prinzip hast Du natürlich Recht. Ich hatte nur zu Anfang nicht richtig gelesen, und das ganze tatsächlich mit copy geschrieben. Als ich dann aber den ersten Post noch mal angesehen habe, habe ich das copy durch move /-Y ersetzt, aber den Namen eben nicht mehr geändert.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

Sheepdog wrote:
karlchen wrote:Wäre als Name nicht "alle eins raufverschieben.bat" korrekt?
Naja, ich (oder er) hätte das Ding auch "sheepdogs SUperbatch.cmd" nennen können, gemacht hätte es dasselbe. ;) :lol:

sheepdog
ich habe es nun "vielen-dank-fuer-die-hilfe-hier-im-forum.cmd" genannt :-)

was mir (auch vor der umbenennung) aufgefallen ist, (ich aber leider kein beispiel posten kann, weil sich das CMD-fenster einfach immer wieder schliesst ohne mich etwas kopieren zu lassen), ist, das irgendwo um den suchbegriff ein doppelter backslash auftaucht.

so in etwa ...\verzeichnis\\uverz\dateien...
oder ...\verzeichnis\uverz\\dateien...
glaube aber eher ersteres.

es tut aber was ich wollte, deswegen erscheint es mir nicht so wild (bis irgendwann der gau geschieht... ;-) )

vielen dank nochmal!
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Änder den Button ab, dann bleibt das Fenster auf:

Code: Select all

Kommando: %comspec% /c "X:\pfad\zur\batch.bat"
Parameter: %L > c:\log.txt
Alternativ kannst Du den Output auch direkt in eine Textdatei schreiben:

Code: Select all

Kommando: %comspec% /c "X:\pfad\zur\batch.bat"
Parameter: %L > c:\log.txt
Icfu
This account is for sale
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Ich habe noch eine Zeile vorangestellt, die die Befehlszeile in die Datei c:\log.txt schreibt.

Und ich habe den Fehler korrigiert, denn nach dem%%a kann der Backslash jeweils entfallen.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Post Reply