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

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

Frage Entwicklung Batch & Shell

Mitglied: Carlos03

Carlos03 (Level 1) - Jetzt verbinden

16.09.2011 um 18:31 Uhr, 4063 Aufrufe, 13 Kommentare

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.

Mit freundlichen Grüßen
Carlos03
Mitglied: 60730
16.09.2011 um 19:28 Uhr
moin,

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

01.
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ß
Bitte warten ..
Mitglied: 99045
16.09.2011 um 19:28 Uhr
wegen Merkbefreiung gelöscht
Bitte warten ..
Mitglied: bastla
16.09.2011 um 20:19 Uhr
@Timo
der Part, den du übernehmen darfst.
... umfasst auch die Behandlung der Sollbruchstellen (auch "Leerzeichen" genannt) ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
16.09.2011 um 20:56 Uhr
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) ...
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
Bitte warten ..
Mitglied: bastla
16.09.2011 um 21:03 Uhr
[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) ...

Grüße
bastla
[/OT]
Bitte warten ..
Mitglied: Biber
16.09.2011 um 21:19 Uhr
[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]
Bitte warten ..
Mitglied: bastla
16.09.2011 um 21:23 Uhr
[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 ...

Grüße
bastla
[/und immer weiter OT]
Bitte warten ..
Mitglied: Carlos03
17.09.2011 um 19:19 Uhr
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

01.
"delims="
eingefügt.

Leider wird nichts verschoben.

01.
 
02.
@echo off 
03.
for /f "delims=" %%a in ('dir /b /AD d:\temp\') do (if exist e:\ablage\%%a echo move d:\temp\%%a e:\ablage\%%a\) 
04.
 
Sieht jemand einen Fehler?

Danke euch.

Mit freundlichen Grüßen
Carlos03
Bitte warten ..
Mitglied: Biber
17.09.2011 um 19:33 Uhr
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
Bitte warten ..
Mitglied: Carlos03
17.09.2011 um 19:46 Uhr
Moin Biber,

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

Und nun?

Mit freundlichen Grüßen
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:

01.
del "d:\temp\%%a"
gesetzt.
Nun meckert er wieder und bringt: Unzulässige Parameterzahl, 0 Dateien kopiert.

Diese Batch Geschichte ist eindeutig gegen mich.
Bitte warten ..
Mitglied: bastla
17.09.2011 um 21:53 Uhr
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
Bitte warten ..
Mitglied: Biber
18.09.2011 um 01:06 Uhr
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..

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

Grüße
Biber
Bitte warten ..
Mitglied: Carlos03
18.09.2011 um 10:06 Uhr
Hallo,

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

Mit freundlichen Grüßen
Carlos03
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Datei in Ordner mit Batchdatei suchen und weiterverarbeiten (2)

Frage von MichaelWiggen zum Thema Batch & Shell ...

Entwicklung
gelöst Anhand einer Excelliste nach Dateien auf Server suchen und verschieben (11)

Frage von xsto123 zum Thema Entwicklung ...

Batch & Shell
gelöst Batch - Datei aus Ordner einlesen mit Ausnahmen! (4)

Frage von Daedrafaction zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...