Top-Themen

Aktuelle Themen (A bis Z)

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 Inhalt von mehreren Unterordner kopieren und löschen mit Batch

Mitglied: Simon-MCP

Simon-MCP (Level 1) - Jetzt verbinden

05.10.2007, aktualisiert 07.10.2007, 14061 Aufrufe, 12 Kommentare

Kurz gesagt:
Ich habe mehrere Unterordner deren Inahlt ich per Batch-Script an 2 neuen Speicherplätzen ablegen will.

Hallo,

ich benötige ein Batch-File das mir aus einem Hauptordner genannt: "Sprachen" den kompletten Inhalt der Unterordner an 2 neuen Pfaden ablegt/verschiebt. Die Dateien am alten Pfad können gelsöcht oder wie gesagt verschoben werden.
Beispiel:
:: Hauptordner ::
- DE (in diesen Unterordnern befinden sich PDF-Dateien)
- ES
- FR
Hier sollte das Script also nun hin gehen und damit anfangen, den Inhalt des Ordners "DE" an 2 neuen Pfaden a + b hin kopieren. Danach die Dateien im Ordner DE löschen und mit Ordner "ES" fortfahren usw...

Ist so etwas überhaupt möglich ?

cu
Crus
Mitglied: Netzheimer
05.10.2007 um 09:57 Uhr
Zeichen zwischen /* und */ nicht mit tippen

@echo off
xcopy Quelle Ziel1 /E /K /I /H /F
xcopy Quelle Ziel2 /E /K /I /H /F
attrib -r -a -s -h Quelle /S


/* Löschen geht dann manuell am schnellsten denke ich */


/*
für Quelle den Quellort angeben
für Ziel1 den 1. Zielort
für Ziel2 den 2. Zielort
Option /E für Unterverzeichnisse mitkopieren
Option /K für Attribute mitkopieren
Option /I für Verzeichnis erstellen, wenn es nicht existiert
Option /H für versteckte Dateien mitkopieren
Option /F für Anzeiger der zu kopierenden Dateinamen
*/
Bitte warten ..
Mitglied: Simon-MCP
05.10.2007 um 10:06 Uhr
Hallo,

vielen Dank erstmal für deine schnelle Antwort, doch ich glaub das ist nicht ganz so wie ich es brauche.

Ich möchte jeweils nur den Inhalt der Unterordner DE, ES, FR an die beiden neuen Speicherplätze abspeichern und nicht die kompletten Ordner.
Die Unterordner DE, ES, FR usw. enthalten PDF Dateien. Diese PDF Dateien sollen an Pfad A und B abgelegt werden.
Bitte warten ..
Mitglied: Netzheimer
05.10.2007 um 10:43 Uhr
cd Hauptverzeichnis/Unterverzeichnis1
copy *.pdf /V ZielordnerA

cd\
cd Hauptverzeichnis/Unterverzeichnis2

usw.

In den Leerraum dazwischen kann man del *.pdf einfügen um die Files zu löschen.
Das Attribut /V vergleicht, ob die Dateien richtig geschrieben worden sind.
Bitte warten ..
Mitglied: miniversum
05.10.2007 um 11:33 Uhr
Versuchs mal damit:
01.
set "quelle=C:\Hauptverzeichnis" 
02.
set "ziel1=C:\ziel1" 
03.
set "ziel2=C:\ziel2" 
04.
set "filefilter=*.*" 
05.
 
06.
FOR /F "delims=" %%d in (dir /B /aD %quelle%) do ( 
07.
ECHO copy /Y "%quelle%\%%d\%filefilter%" "%ziel1%"   
08.
ECHO copy /Y "%quelle%\%%d\%filefilter%" "%ziel2%"   
09.
ECHO rd /S /Q "%quelle%\%%d" 
10.
)
So sollte es gehen. Pfade müssen halt noch angepasst werden.
Es wird erstmal nur angezeigt was gemacht wird. Soll wirklich kopiert und gelöscht werden müssen die grossgeschriebenen ECHOs entfernt werden.

miniversum
Bitte warten ..
Mitglied: Simon-MCP
05.10.2007 um 11:35 Uhr
Vielen Dank für deine Hilfe.

Im Prinzip funktioniert dies. Dafür danke ich Dir auch schon mal.
Nur eins ist etwas umständlich, man muss für jedes Unterverzeinis eine Routine in der Batch-Datei anlegen.
Wenn in Zukunft ein weiteres Unterverzeichnis dazu kommen sollte, muss dieses von Hand wieder in der Batch Datei hinzugefügt werden.

Kann man das evtl. auch automatisieren ?

cu
Crus
Bitte warten ..
Mitglied: Simon-MCP
05.10.2007 um 11:41 Uhr
Hallo,

das sieht schon eher aus nach dem was ich suche. Danke schon mal für deine Mühe.

Ich habe das Script folgendermaßen abgeändert:
set "quelle=C:\Test_Orig"
set "ziel1=C:\Test_Dupli"
set "ziel2=C:\Test_Dupli2"
set "filefilter=*.txt"

FOR /F "delims=" %%d in (dir /B /aD %quelle%) do (
copy /Y "%quelle%\%%d\%filefilter%" "%ziel1%"
copy /Y "%quelle%\%%d\%filefilter%" "%ziel2%"
ECHO rd /S /Q "%quelle%\%%d"
)
Leider bekomme ich aber folgende Meldung:
Die Datei "dir" kann nicht gefunden werden.

muss ich das dir auch noch durch das Hauptverzeichniss ersetzen ?

cu
Crus
Bitte warten ..
Mitglied: bastla
05.10.2007 um 12:00 Uhr
Hallo crus-online#de!

Ersetze die Zeile
01.
FOR /F "delims=" %%d in (dir /B /aD %quelle%) do (
durch
01.
FOR /F "delims=" %%d in ('dir /B /aD "%quelle%"') do (
Grüße
bastla
Bitte warten ..
Mitglied: Simon-MCP
05.10.2007 um 12:09 Uhr
Hallo,

perfekt, vielen lieben Dank. Das funktioniert soweit nun super.

Nur noch ein kleines Problem:
Mit diesem Befehl rd /S /Q "%quelle%\%%d wird nach dem kopieren der einzelnen Dateien das komplette Unterverzeichnis gelöscht.
Ist es auch möglich nur die kopierte Datei (*.txt) zu löschen und das Unterverzeichniss bestehen zu lassen.

cu
Crus
Bitte warten ..
Mitglied: miniversum
05.10.2007 um 12:31 Uhr
Ersetze mal:
rd /S /Q "%quelle%\%%d"
durch
del "%quelle%\%%d\%filefilter%"

miniversum
Bitte warten ..
Mitglied: Biber
06.10.2007 um 23:40 Uhr
Moin crus-online#de,

ich würde die Anforderung direkt vom CMD-Prompt abfackeln ohne so viele Variablen und Heckmeck.

01.
>for /r "C:\PDFRoot\" %i in (*.pdf) do @for %j in ("copy "%i" "Ziel1"" "move %i "ziel2"") do @ECHO %~j
... und dabei
  • statt "C:\PDFRoot\" Deinen Hauptordner oberhalb "ES", "DE". "PT" etc. einsetzen
  • statt "Ziel1" und "Ziel2" deine Zielordner (die vorher schon existieren, denke ich)
  • das letzte "@ECHO" ist nur zum gefahrlosen Testen - zum Ausführen einfach weglassen.

Gruß
Biber
Bitte warten ..
Mitglied: Simon-MCP
07.10.2007 um 16:41 Uhr
Hallo Biber,

danke für deine Mühe.
Trotz allem das es eigentlich schon läuft, habe ich deine Idee auch mal versucht einzusetzen. Doch leider scheint in dem Code etwas nicht zu stimmen.

Wenn ich den Code so ausführe wie er oben steht (ohne das letzte "@ECHO") erhalte ich die folgende Meldung:
Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters
ist ungültig: %~j

Enterne ich dann das "~" for dem "j" erhalte ich folgende Meldung:
C:\Dokumente und Einstellungen\"User-Profil">for /r "C:\PDFRoot\" j in ("copy "i "zie
l2"") do @ECHO "%i" "Ziel1"" "move %i "ziel2"") do @ECHO %~j
C:\Dokumente und Einstellungen\Crusader>C:\copy.bat
"j" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Ich möchte dich damit aber auch nicht unnötig belästigen, da ich ja bereits ein funktionierendes Script erhalten habe.

Vielen Dank aber noch mal und noch einen schönen Sonntag.

cu
Crus
Bitte warten ..
Mitglied: bastla
07.10.2007 um 17:16 Uhr
Hallo crus-online#de!

Biber's Variante war für die Verwendung an der Kommandozeile, nicht in einer Batchdatei, gedacht - in Batch musst Du jeweils die %-Zeichen verdoppeln, also etwa %%~j schreiben.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Lösche Inhalt in bestimmten Unterordner wenn älter als

gelöst Frage von KnuefiBatch & Shell7 Kommentare

Hallo, ich benötige eure Hilfe. Ich habe unterstehendes Script, leider funktioniert es nicht. Es wird nichts gelöscht. Was habe ...

Batch & Shell

Batch - Dateien mehrer Ordner kopieren in jeweilige Unterordner

gelöst Frage von mr-neoBatch & Shell7 Kommentare

Hallo zusammen, folgendes Vorhaben möchte ich durchführen. Ich denke, mit einem cmd Befehl bzw. einer *.bat Datei sollte das ...

Batch & Shell

Via Batch speziellen Unterordner kopieren

Frage von WeezytBatch & Shell3 Kommentare

Moin Leute, brauche wieder mal euren Rat. Ich will mit einem Skript einen speziellen Unterordner aus einem Hauptverzeichnis kopieren. ...

Batch & Shell

Spezielle Unterordner via batch löschen

gelöst Frage von WeezytBatch & Shell4 Kommentare

Hey Leute, ich würde gern einen speziellen Unterordner aus einer Hauptverzeichnis löschen. Würde das mittels Batch Skript gehen? Z.b ...

Neue Wissensbeiträge
Windows Netzwerk

CGM Praxisarchiv funktioniert auf Clients nach Update auf 4.14 nicht mehr

Tipp von MOS6581 vor 7 StundenWindows Netzwerk

Moin, ein Kunde setzt das CGM-Praxisarchiv ein. Mehrplatzinstallation mit SQL-Server. Nachdem letzte Woche auf die 4.14 aktualisiert wurde, funktionierte ...

Windows 10

Win 10 - Storage Sense - neues herstellerseitiges Cleaning-Tool statt cleanmgr

Tipp von mathu vor 13 StundenWindows 101 Kommentar

Vermutlich ab dem Oktoberrelease wird eine neue Speicherbereinigungssuftware ausgeliefert von Microsoft. Cleanmgr.exe soll angeblich aber noch weiter parallel verfügbar ...

E-Mail
Neueste Masche der Bad Guys: Offene Erpressung
Information von the-buccaneer vor 1 TagE-Mail15 Kommentare

"Warum den komplizierten Weg über einen Kryptotrojaner nehmen, wenn man die Leute auch direkt erpressen kann?" haben sich wohl ...

Viren und Trojaner
Neues ct-desinfect 2018 erschienen
Information von Lochkartenstanzer vor 1 TagViren und Trojaner

Moin, heise hat eine neues Sonderheft Desinfect veröffentlicht (9,90€/12,90€) . Falls jemand öfter mal Kisten "säubern" muß ist das ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Kombiniere mehrere 4G Router zu einem Netzwerk - Anwendung kleine LAN (10-20 Leute)
Frage von HulkTheHeroLAN, WAN, Wireless22 Kommentare

Guten Mittag liebes Administrator - Fourm, ich hoffe ich habe das richtige Thema ausgewählt - ansonsten bitte gerne verschieben ...

Firewall
Blocken illegaler Film-Streams
gelöst Frage von CoreknabeFirewall20 Kommentare

Moin Wissende, unsere kleine Hochschule möchte gern das illegale Streaming von Kinofilmen und Serien unterbinden. Wir sperren bisher alle ...

Windows Server
2012 R2 Server Keine Anmeldung möglich Meldung: Laut den Sicherheitsrichtlinien auf diesem PC sollen informationen zur letzten interaktiven Anmeldung angezeigt werden
Frage von Speedy18A4Windows Server19 Kommentare

Hallo, ich habe vor einigen Wochen einen zweiten Domain Controller zu meiner Domain hinzugefügt. Funktionierte alles wunderbar. Auch die ...

iOS
Virus auf iphone
Frage von jensgebkeniOS17 Kommentare

hallo gemeinschaft, habe einen virus auf meinem iphone es kommen zwei meldungsfenster 1. online-2018-software-free.win 2. wpform.com - please click ...