carlos03
Goto Top

Ordnernamen einlesen und gleichen Ordner unter anderem Pfad suchen - Datei verschieben

Hallo,

ich möchte gerne mit einer batch Datei, alle vorhandenen Ordnernamen innerhalb eines Pfades einlesen und jeweils prüfen, ob es den gleichnamigen Ordner an einem anderen Pfad gibt.

1. Pfad: d:\temp\
2. Pfad: e:\ablage\

Wurde der entsprechende Ordner im 2. Pfad gefunden, dann soll der Inhalt des Ordners im 1. Pfad in den anderen Ordner verschoben werden.
Der dann leere Ordner im 1. Pfad soll gelöscht werden.

Kopiert werden soll nur wenn ein entsprechender Ordner gefunden wurde.

Leider habe ich von batch Dateien so gut wie keine Ahnung und muss daher um eure Hilfe bitten, ohne etwas halbfertiges präsentieren zu können.

Würde mich über Hilfe freuen.

Vielen Dank im Voraus.

mfg
Carlos03

Content-Key: 173259

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

Printed on: April 18, 2024 at 13:04 o'clock

Mitglied: 60730
60730 Sep 16, 2011 at 17:28:02 (UTC)
Goto Top
moin,

ein klassischer Fall für eine Schleife, die wahrscheinlich 1.001 * in dieser oder ähnlicher Version hier schon zu finden ist...

for /f %a in ('dir /b /AD d:\temp\') do if exist e:\ablage\%a echo move d:\temp\%a e:\ablage\%a  

Wie du das scharf stellen kannst und aus der Dosboxdemo eine Batch baust, ist dann der Part, den du übernehmen darfst.

Gruß
Mitglied: 99045
99045 Sep 16, 2011 at 17:28:15 (UTC)
Goto Top
wegen Merkbefreiung gelöscht
Member: bastla
bastla Sep 16, 2011 at 18:19:37 (UTC)
Goto Top
@Timo
der Part, den du übernehmen darfst.
... umfasst auch die Behandlung der Sollbruchstellen (auch "Leerzeichen" genannt) ... face-wink

Grüße
bastla
Mitglied: 60730
60730 Sep 16, 2011 at 18:56:37 (UTC)
Goto Top
Servus Bastla,

[OT]
ich hab grad meine Dioptrie verlegt und kann deine Zeilen nicht entziffern..
Zitat von @bastla:
... umfasst auch die Behandlung der Sollbruchstellen (auch "Leerzeichen" genannt) ... face-wink
meinst du
Sollbuchstehlen (auch "Leerzeichen"?
Zollbuchstehlen (auch "Lehrzeichen"?
Zollbuchstehlen (auch "Lehrzeichen"?
Gänsefleisch hma n biessi teudlischär schreim, ich hädds eilisch unn hädds an die füsschen?
[/OT]


Wär doch gelacht, wenn wir nix
halbfertiges präsentieren zu können.

Grüße
bastla

retour
Member: bastla
bastla Sep 16, 2011 at 19:03:38 (UTC)
Goto Top
[OT] @t-mo
Ich wundere mich ohnehin schon die ganze Zeit, dass es nicht auch kreative Umbenamsungs-Ansätze für "Leerzeichen" gibt (und nein, ich werde jetzt nicht den Begriff "Textlöcher" propagieren) ... face-wink

Grüße
bastla
[/OT]
Member: Biber
Biber Sep 16, 2011 at 19:19:39 (UTC)
Goto Top
[erst recht OT] @bastla
Zitat von @bastla:
[OT] @t-mo
Ich wundere mich ohnehin schon die ganze Zeit, dass es nicht auch kreative Umbenamsungs-Ansätze für "Leerzeichen" gibt ....
Dann aber auch Anführungszeichen sprachpimpen bitte...
Neulich habe ich noch den alternativen Begriff "Sekundenzeichen" für Anführungszeichen in einer einschlägigen Diskussion neu dafür gelernt.

ist vielleicht gar nicht unpraktisch, denn damit lässt sich plakativ formulieren:
In VBSkript werden Textstrings in Sekundenzeichen eingebettet und Zeilenkommentare mit Minutenzeichen gekennzeichnet."
Das auf einer Powerpoint-Folie den 60-plus-aber-voll-fit-VHS-Kursteilnehmern in der ersten Stunde vorsetzen und notieren, wer den Bullshit mitschreibt...

Hier im Forum sollten wir die Sekundenzeichen Zwillingsrunen und die Minutenzeichen Hochkerben nennen...

Grüße
Biber
[/erst recht OT]
Member: bastla
bastla Sep 16, 2011 at 19:23:16 (UTC)
Goto Top
[und immer weiter OT] @Biber
Hier im Forum sollten wir die Sekundenzeichen Zwillingsrunen und die Minutenzeichen Hochkerben nennen...
Ich mag nicht glauben, dass Du das auf dem Kerbholz haben möchtest ... face-wink

Grüße
bastla
[/und immer weiter OT]
Member: Carlos03
Carlos03 Sep 17, 2011 at 17:19:39 (UTC)
Goto Top
Hallo,

ich danke euch für die Rückmeldungen.

Ich habe den obigen Code übernommen.
Da die Ordnernamen tatsächlich Leerzeichen beinhalten, habe ich noch ein

"delims="  
eingefügt.

Leider wird nichts verschoben.

@echo off
for /f "delims=" %%a in ('dir /b /AD d:\temp\') do (if exist e:\ablage\%%a echo move d:\temp\%%a e:\ablage\%%a\)  

Sieht jemand einen Fehler?

Danke euch.

mfg
Carlos03
Member: Biber
Biber Sep 17, 2011 at 17:33:46 (UTC)
Goto Top
Moin Carlos03,

wie auch jeglicher anderer Windowscode enthält auch dieser keine Fehler, aber Zusatzfeatures.
Das "echo" vor dem "move" ermöglicht eine gefahrlose Was-wäre-wenn-Vorschau (neudeutsch no regrets oder POC).
Wenn es als Anzeige plausibel aussieht, dann kannst du es weglassen oder -wie wir Profis es ausdrücken- scharf machen.

Grüße
Biber
Member: Carlos03
Carlos03 Sep 17, 2011 at 17:46:36 (UTC)
Goto Top
Moin Biber,

die Ausgabe ist in Ordnung, sodass ich nun das echo weggenommen habe.
Ergebnis: Syntaxfehler.

Und nun?

mfg
Carlos03

Edit(h) ruft noch von hinten rein:
Ich habe move, durch xcopy ersetzt und Quell- und Zielpfad jeweils in Anführungszeichen gesetzt, jetzt wird die Datei kopiert.
Nun habe ich dahinter ein:

del "d:\temp\%%a"  

gesetzt.
Nun meckert er wieder und bringt: Unzulässige Parameterzahl, 0 Dateien kopiert.

Diese Batch Geschichte ist eindeutig gegen mich.
Member: bastla
bastla Sep 17, 2011 at 19:53:44 (UTC)
Goto Top
Hallo Carlos03!

Meinst Du (hoffentlich) mit "dahinter" nach der Verknüpfung mit "&&"?

Was ist eigentlich der Plan? Wenn Du den Ordner nach dem Kopieren rückstandsfrei entsorgen möchtest, wäre nicht "del", sondern eher
rd /s /q "d:\temp\%%a"
das Mittel der Wahl ...

Grüße
bastla
Member: Biber
Biber Sep 17, 2011 at 23:06:58 (UTC)
Goto Top
Moin Carlos,

Zitat von @Carlos03:
Moin Biber,

die Ausgabe ist in Ordnung, sodass ich nun das echo weggenommen habe.
Ergebnis: Syntaxfehler.
Ich habe move, durch xcopy ersetzt und Quell- und Zielpfad jeweils in Anführungszeichen gesetzt,
jetzt wird die Datei kopiert.
War auch durchaus so beabsichtigt, dass wir abwarten, ob du aus eigener Kraft bis an diesen Punkt kommst.
Dauert eine Winzigkeit länger, ist aber wesentlich nachhaltiger.

Nun habe ich dahinter ein:
{ nächstes Problem angefangen }
Nun meckert er wieder und bringt: Unzulässige Parameterzahl, 0 Dateien kopiert.

Diese Batch Geschichte ist eindeutig gegen mich.
Vor allem der letzte Satz hat mich dazu gebracht, noch mal zu posten in diesem Beitrag.

Ich fasse noch mal zusammen:
Bei Skriptfragen in diesem Forum stehen -ähnlich wie in San Sebastian auf Gomera oder auch in Gelsenkirchen-Buer- immer Hilfstruppen im Dunklen bereit.
You 'll never walk alone, wie der Franzose sagt.

Aber wenn du hier die ersten geführten Stützrad-Runden drehen willst, dann bitte ignoriere auch nicht die berechtigten Rückfragen, wie sie von Kaputtnick und bastla
kamen. Auch das gehört zum Hilfe-Angebot, dass wir auch beim Sortieren, beim Ordnen und Entwickeln des Plans unterstützen.

Wenn darauf nicht reagiert wird, dann kommen eben Reaktionen wie in Kaputtnicks inzwischen bearbeitetem Kommentar.
bastla ist da viel geduldiger - da müsste es schon richtig dick kommen.. face-wink

Lass uns hier gemeinsam einen grünen Haken erarbeiten bitte.

Grüße
Biber
Member: Carlos03
Carlos03 Sep 18, 2011 at 08:06:41 (UTC)
Goto Top
Hallo,

mit dem Hinweis von bastla habe ich es nun hinbekommen.
Ich bedanke mich für eure Unterstützung.

mfg
Carlos03