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 Ordnerinhalte verschieben

Mitglied: ManneKL

ManneKL (Level 1) - Jetzt verbinden

24.01.2007, aktualisiert 28.01.2007, 5198 Aufrufe, 12 Kommentare

Ordnerinhale verschieben

Hallo,
da ich ein blutiger Anfänger bin und ich dringend einen Batch benötige, mit dem ariable Datei in variablen Ordnern, in einen anderen Ordner kopiert werden und der Ursprungsordner anschließend gelöscht wird, wende ich mich hilfesuchend an Euch.
Ouelle: K:\ARCHIV\ekp_kd\failed\20070123-170823-00 (Dateien: a004856_349038 und exception.txt).Die Dateien a004856_349038 haben die Attribute-normal.
Ziel: K:\ARCHIV\ekp_kd (nur Dateien (a004856_349038)aus den Unterordnern(20070123-170823-00).
Die Unterordner (20070123-170823-00,20070123-170878-00,20070123-170973-00,... )werden permanent erstellt und aus diesen sollen nur die variablen Dateien(a004856_349038) in den Ordner failed geschoben werden und anschließend diese Unterordner (20070123-170823-00) gelöscht werden.

Für Lösungsvorschläge wär ich sehr dankbar.
Manne
Mitglied: Tundra
24.01.2007 um 09:44 Uhr
Hi Manne,

eine Gleichung, die nur Variablen enthält, geht nicht auf.
Man braucht daher ein Suchmuster für Ordner und für Dateien, die bleiben oder verschoben werden.

Wenn ich Dich richtig verstehe, dann sollen die zwei Dateien nicht nach failed verschoben werden, denn dann würden sie ja laufend überschrieben werden, sondern in einem gleichnamigen Unterordner, richtig?

Z. B.
ekp_kd\Unterordner1\Datei1 verschieben nach ekp_kd\Unterordner1
delete Unterordner1

Nun kommt der nächste Ordner dran.

Habe ich das so richtig verstanden?

Grüße
Guido
Bitte warten ..
Mitglied: ManneKL
24.01.2007 um 10:02 Uhr
Mein Pfad sieht so aus:
xcopy K:\ARCHIV\ekr_kd\failed\2007*\a00* K:\ARCHIV\ekr_kd\*.*

Diese Datei: a00* soll in failed verschoben werden und wird dort in 30 Sekunden heraustransportiert,ist als dann weg.Die andere Datei im Ordner 2007* , da soll anschließend der Ordner mit Inhalt einer Datei gelöscht werden.
Gruß
Manne
Bitte warten ..
Mitglied: bastla
24.01.2007 um 11:23 Uhr
Hallo ManneKL!

Wenn das etwaige Überschreiben von Zieldateien kein Problem darstellt, könntest Du es so machen:
01.
@echo off 
02.
set "BaseDir=K:\ARCHIV\ekp_kd" 
03.
for /f "delims=" %%i in ('dir "%BaseDir%\failed\2007*.*" /b /ad') do ( 
04.
    echo move /y "%BaseDir%\failed\%%i\a00*.*" "%BaseDir%\failed" 
05.
    echo rd /q /s "%BaseDir%\failed\%%i" 
06.
)
Aus zeitlichen Gründen leider ungetestete Version, aber: Solange Du das echo in den Zeilen 4 und 5 nicht entfernst, wird nur angezeigt, was passieren würde ...

Grüße
bastla

[Edit] Zielpfad um Unterverzeichnis "failed" ergänzt [/Edit]
Bitte warten ..
Mitglied: ManneKL
24.01.2007 um 15:54 Uhr
Hallo bastla,
Deine Zeilen funktionieren leider nicht.
Habe schon den ganzen Tag damit rumexperimentiert.

Die Ziedateien dürfen im Ordner failed nicht überschrieben werden wenn sie reinkopiert werden,da sie sich ja auch in der Bezeichnung immer unterscheiden.

Vielleicht kannst Du Dich noch mal versuchen?
Gruß
Manne
Bitte warten ..
Mitglied: ManneKL
24.01.2007 um 15:54 Uhr
Hallo bastla,
Deine Zeilen funktionieren leider nicht.
Habe schon den ganzen Tag damit rumexperimentiert.

Die Ziedateien dürfen im Ordner failed nicht überschrieben werden wenn sie reinkopiert werden,da sie sich ja auch in der Bezeichnung immer unterscheiden.

Vielleicht kannst Du Dich noch mal versuchen?
Gruß
Manne
Bitte warten ..
Mitglied: ManneKL
24.01.2007 um 15:55 Uhr
Hallo bastla,
Deine Zeilen funktionieren leider nicht.
Habe schon den ganzen Tag damit rumexperimentiert.

Die Ziedateien dürfen im Ordner failed nicht überschrieben werden wenn sie reinkopiert werden,da sie sich ja auch in der Bezeichnung immer unterscheiden.

Vielleicht kannst Du Dich noch mal versuchen?
Gruß
Manne
Bitte warten ..
Mitglied: Tundra
24.01.2007 um 16:12 Uhr
Damit der Code nicht zu unübersichtlich wird, prüfe ich jetzt nicht auf Fehler

In den Konstanten legst wie die Namen schon sagen Quelle, Ziel, etc. fest.
Danach geht die Schleife (S_ListOrdner) über alle Ordner, wird ein Unterordner gefunden, wird der Ordnerpfad an S_Ordner übergeben. Alles was dem Suchstring entspricht wird nun an S_Copy übergeben.
Die Dateien werden jetzt kopiert, zuvor wird der entsprechende Ordner unterhalb von failed angelegt.
Nach dem Kopieren wird der Ordner gelöscht.

Grüße
Guido

01.
'Bestimmte Dateien in einem Verzeichnis kopieren 
02.
'Verzeichnis danach löschen 
03.
'24.01.07/ge 
04.
 
05.
Option explicit 
06.
 
07.
const C_Quelle = "c:\temp\" 
08.
const C_Ziel = "c:\temp\failed\" 
09.
Const C_Search = "datei" 
10.
Const C_Except_Dir = "failed" 
11.
 
12.
Dim O_FSO 
13.
Set O_FSO = CreateObject("Scripting.FileSystemObject") 
14.
 
15.
Call S_ListOrdner 
16.
 
17.
Sub S_ListOrdner 
18.
	Dim O_Ordner, O_Ordners 
19.
	Set O_Ordners = O_FSO.GetFolder(C_Quelle) 
20.
	 
21.
	For each O_Ordner in O_Ordners.subfolders 
22.
		If O_Ordner.Name <> C_Except_Dir Then 
23.
			Call S_Ordner(O_Ordner.Path,O_Ordner.Name) 
24.
			wscript.sleep 500 
25.
			Call S_DeleteDir (O_Ordner.Path) 
26.
		End If 
27.
	Next 
28.
End Sub 
29.
 
30.
Sub S_Ordner(P_Dir,P_Ordner) 
31.
	Dim O_Datei, O_Dir 
32.
	Set O_Dir = O_FSO.GetFolder(P_Dir) 
33.
	 
34.
	For each O_Datei in O_Dir.files 
35.
		If InStr(O_Datei.Name,C_Search) >= 1 Then 
36.
			Call S_Copy(O_Datei.Path,P_Ordner) 
37.
		End If 
38.
	Next 
39.
End Sub 
40.
 
41.
Sub S_Copy(P_Datei,P_Ordner) 
42.
	If Not O_FSO.FolderExists(C_Ziel & "\" & P_Ordner) Then 
43.
		O_FSO.CreateFolder C_Ziel & "\" & P_Ordner 
44.
	End If 
45.
	O_FSO.CopyFile P_Datei,C_Ziel & P_Ordner & "\",true 
46.
End Sub 
47.
 
48.
Sub S_DeleteDir(P_Dir) 
49.
	O_FSO.DeleteFolder P_Dir 
50.
End Sub
Bitte warten ..
Mitglied: bastla
24.01.2007 um 16:15 Uhr
Hallo ManneKL!

Wenn die "a00*.*"-Dateien immer andere Namen haben, kann in "failed" ohnhin nichts überschrieben werden - würde am Batch daher nichts ändern. Nur für den Fall, dass eine gleichnamige Datei bereits existiert und erhalten bleiben müsste, wäre eine Änderung erforderlich - dann müsstest Du aber erklären, was mit der neuen Datei geschehen sollte (umbenennen, verwerfen).

Kannst Du vielleicht "funktionieren nicht" etwas detaillieren (kopiere einfach die Ausgabe aus dem Command-Fenster)?

Grüße
bastla

P.S.: Komme erst am Abend dazu, mich ausführlicher damit zu beschäftigen.
Bitte warten ..
Mitglied: ManneKL
26.01.2007 um 12:06 Uhr
Hallo bastla,

vielen Dank für Deine Lösung.
Habe es hinbekommen.

Also, sehr gute Arbeit!
Danke,danke....
Manne
Bitte warten ..
Mitglied: Biber
26.01.2007 um 22:13 Uhr
*grummel*
Hallo bastla,
Deine Zeilen funktionieren leider nicht.
Habe schon den ganzen Tag damit rumexperimentiert.

Hallo bastla,

vielen Dank für Deine Lösung.
Habe es hinbekommen.

Also, sehr gute Arbeit!
Danke,danke....
Manne


...ich würde zwar einerseits diesen Thread gerne schliessen oder zumindest als gelöst markieren aufgrund der beiden Lösungsansätze von bastla und Tundra...
..andererseits finde ich den Diskussionsverlauf für die Nachwelt etwas unbefriedigend.

@ManneKL:
Musstest Du noch Anpassungen vornehmen, um bastla's Shizze zum Fliegen zu bringen bzw. sind da noch Tippfehler drin?
Ich fände es schon schöner, wenn auch für spätere Beitragsleser die endgültige Lösung ersichtlich ist.

Mach mir bitte die kleine Freude und schaff hier Klarheit...

Danke
Biber
Bitte warten ..
Mitglied: ManneKL
28.01.2007 um 08:40 Uhr
Hallo biber,
habe den Pfadverlauf und die Ordnerbezeichnung auf meinen noch abgestimmt.
Also die Skizze von bastla funktioniert.
Kann als gelöst realisiert werden.
Danke Euch allen.
Manne
Bitte warten ..
Mitglied: Biber
28.01.2007 um 14:15 Uhr
Danke auch, ManneKL,

dann schliesse ich jetzt den Beirag.

Schönen Sonntag
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Tools

ROBOCOPY - Ordner verschieben, nicht Ordnerinhalt

gelöst Frage von kilrathiWindows Tools14 Kommentare

Hallo zusammen, simple Frage aber ich bin irgendwie zu blöd um auf die Lösung zu kommen: robocopy C:\Temp\A D:\Temp ...

Windows 7

Über die CMD nur einen Ordnerinhalt mit Unterordnern löschen

gelöst Frage von M.MarzWindows 713 Kommentare

Hallo zusammen, ich möchte gerne innerhalb von einem Ordner der auf C: liegt alles löschen. Zum Testen habe ich ...

Batch & Shell

Ordnerinhalt mit Ordnernamen umbenennen

gelöst Frage von RotnasenkaterBatch & Shell5 Kommentare

Servus, liebe Gemeinde! Ich habe ein kleines Anliegen und keienrlei Ahnung von Batch-Programmierung, deswegen hoffe ich auf Hilfe von ...

Batch & Shell

VBScript zum umbennen von Ordnerinhalt

Frage von PixelsklaveBatch & Shell16 Kommentare

Hallo, evtl. kann mir jemand weiterhelfen da ich nichts passendes gefunden habe und meine VB Kenntnisse sich in Grenzen ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 14 StundenAusbildung8 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten2 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 2 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic22 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware16 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Entwicklung
Ist dies als Programmieren zu bezeichen?
Frage von kmsw110Entwicklung13 Kommentare

Hallo, ein Kollege redet dauernd darüber das er im Betrieb seine Maschinen (Fräsmaschinen) Programmiert bzw. Zahlenwerte in ein .txt ...