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 alte Dateien per Batch verschieben aber relative Struktur beibehalten

Mitglied: HansG

HansG (Level 1) - Jetzt verbinden

27.10.2009, aktualisiert 18.10.2012, 9955 Aufrufe, 8 Kommentare

OS: Windows Server 2003
Struktur:

C:\Quelle\Dateien
C:\Quelle\XYZ\Dateien
C:\Quelle\ABC\Dateien

C:\Ziel\Dateien
C:\ZIEL\XYZ\Dateien
C:\ZIEL\ABC\Dateien

Hallo zusammen,

habe ein Problem mit einer Batchdatei.

Es sollen in einem Verzeichnis rekursiv die Dateien geprüft werden, ob sie älter als beispielsweise 35 Tage sind.
Ist das der Fall, sollen sie in ein Zielverzeichnis inklusive der relativen Ordnerstruktur verschoben werden. Wie oben dargestellt also von

C:\Quelle\Dateien
und
C:\Quelle\relativeStruktur\Dateien

nach
C:\Ziel\Dateien
und
C:\Ziel\relativeStruktur\Dateien

Ich bastel schon die ganze Zeit mit forfiles.exe herum, aber er kopiert mir alle Dateien nur in C:\Ziel\ ohne die relative Ordnerstruktur zu behalten.

Wären es nur bestimmte Unterordner könnte ich diese einzeln abarbeiten lassen, aber es können auch immer neue Ordner im Quellverzeichnis entstehen und diese sollen auch berücksichtigt werden.
Hat vielleicht jemand einen Tipp oder gar eine Lösung parat?

Danke im Voraus.

MfG

Hans
Mitglied: TsukiSan
27.10.2009 um 11:34 Uhr
Hallo HansG,

wie wär's auf der Basis von VBS?
01.
DateiOrig = "C:\Quelle\Dateien\Test.txt" 
02.
DateiNeu = "C:\Ziel\Dateien\Test.txt 
03.
 
04.
Set CPYFSO = CreateObject("Scripting.FileSystemObject") 
05.
 
06.
CPYFSO.CopyFile DateiOrig , DateiNeu , True
?
Das ist das Grundgerüst! Man kann das verfeinern/anpassen.

Gruß
Tsuki
Bitte warten ..
Mitglied: LotPings
27.10.2009 um 11:47 Uhr
Hallo Hans,

das Tool delage32 von Horst Schaeffer kann das in einem Rutsch erledigen.

01.
Pushd C:\Quelle 
02.
delage32 * 35 /recurse /move c:\Ziel /preview 
03.
Popd
wenn die Ausgabe deinen Anforderunge entspricht, kannst du /preview entfernen.

Gruß
LotPings
Bitte warten ..
Mitglied: bennib22
27.10.2009 um 12:53 Uhr
Hallo,

Machs doch ganz dumm!
Kopiere alle Dateien mit copy bzw xcopy
und lösch danach die anderen Dateien mit del *.*

Gruß
bennib22
Bitte warten ..
Mitglied: HansG
27.10.2009 um 14:18 Uhr
Zitat von LotPings:
Hallo Hans,

das Tool [http://home.mnet-online.de/horst.muc/wbat32d.htm delage32
von Horst Schaeffer] kann das in einem Rutsch erledigen.

01.
> Pushd C:\Quelle 
02.
> delage32 * 35 /recurse /move c:\Ziel /preview 
03.
> Popd 
04.
> 
wenn die Ausgabe deinen Anforderunge entspricht, kannst du /preview
entfernen.

Gruß
LotPings

Vielen Dank.

Das Tool hat mir sehr geholfen!
Bitte warten ..
Mitglied: ceng.de
24.07.2010 um 19:49 Uhr
Hat jemand noch eine Idee, wie ich einen Link der verschobenen Datei auf die neue Datei im Zielverzeichnis erzeuge?
Bitte warten ..
Mitglied: LotPings
26.07.2010 um 18:48 Uhr
Zitat von ceng.de:
Hat jemand noch eine Idee, wie ich einen Link der verschobenen Datei auf die neue Datei im Zielverzeichnis erzeuge?

Hallo ceng.de,

willkommen im Forum.

Ich kann da jetzt keinen Bezug zur eigentlichen Frage erkennen,
wie wärs wenn du eine eigene Frage mit deinem Kontext aufmachst?

Dann haben auch weitaus mehr Leute die Möglichkeit dein neues Poblem anzusehen / eine Lösung anzubieten.

Für das Erstellen von Links brauchst du ein 3rdParty Tool oder vbscript.

Gruß
LotPings
Bitte warten ..
Mitglied: ceng.de
26.07.2010, aktualisiert 18.10.2012
Ich hänge gerade daran:
- wie ich im Unterverzeichnis die gleiche Ordnerstruktur erstelle wie im Originalverzeichnis...
- ob das Logdatei-Object nicht vollaufen kann, wenn viele tausend Dateien verschoben werden
- ob das Script nicht an einer oder anderer Stelle optimiert werden kann

Ideen?

Danke
CENG

SCRIPT V2 Stand 26.07.2010

01.
' https://www.administrator.de/forum/alte-dateien-auf-anderes-medium-verschieben-und-einen-link-erstellen-147586.html#comment-580079 
02.
' Script zum Verschieben von "alten" Dateien in ein anderes Verzeichnis und Link im Originalverzeichnis erstellen 
03.
' THX Tsuki (https://www.administrator.de/index.php?mod=show_public_profile&nr=79798) 
04.
' THX Friemler (https://www.administrator.de/index.php?mod=show_public_profile&nr=91808) 
05.
 
06.
 
07.
Dim OrgPfad, ArcPfad, Logdatei 
08.
Dim Logbucheintrag, Logbuchkopf, trennlinie 
09.
Dim DatName, LinkPfad 
10.
Dim ObjShell 
11.
 
12.
Dim objShortcut 
13.
 
14.
'Angabe mit Backslash "\" -> Bsp: c:\programme\ 
15.
 
16.
OrgPfad = "C:\ArchivTest\OrigDat\" 
17.
ArcPfad = "C:\ArchivTest\ArcDat\" 
18.
logdatei = "C:\ArchivTest\archivierung-"&Date()&".txt" 
19.
trennlinie = "*****************************************" 
20.
 
21.
 
22.
'Subroutine Ordner ArcPfad vorhanden 
23.
Archivordnerpruefung 
24.
 
25.
set fs = createobject("Scripting.FileSystemObject") 
26.
 
27.
ListOrdner (OrgPfad) 
28.
 
29.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
30.
' Logfile Bearbeitung                             ' 
31.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
32.
Dim objFSO 
33.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
34.
 
35.
' Logeintrag schreiben 
36.
	Const ForReading = 1 
37.
	Const ForWriting = 2 
38.
 
39.
'Prüfung, ob Logdatei vorhanden, ansonsten erstelle mit Datum in Kopfzeile 
40.
  If (objFSO.FileExists(logdatei)) Then 
41.
	Set open_File = objFSO.OpenTextFile(logdatei, 8) 
42.
    	open_File.Close() 
43.
	Else 
44.
    	Set open_File = objFSO.OpenTextFile(logdatei, 2, "True") 
45.
    	open_File.Close() 
46.
	End If 
47.
 
48.
	Set objLogFile = objFSO.OpenTextFile(Logdatei, ForWriting, TRUE) 
49.
		Logbuchkopf = trennlinie & vbCrLf _ 
50.
    	& "Datum der Archivierung: " & Date() & vbCrLf _ 
51.
    	& trennlinie & vbCrLf 
52.
 
53.
		objLogFile.Write Logbuchkopf & Logbucheintrag 
54.
	' Schliesse Logdatei 
55.
		objLogFile.Close 
56.
 
57.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
58.
'' Verschieben der Dateien                       '' 
59.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
60.
 
61.
Sub ListOrdner(OrgPfad) 
62.
 
63.
Dim objFSO 
64.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
65.
 
66.
Set ordner = fs.getfolder(OrgPfad) 
67.
 
68.
	For Each file In ordner.files 
69.
 
70.
		OrgPfad = File.path 
71.
		temp = Split(OrgPfad , "\") 
72.
		DatName = temp(Ubound(temp)) 
73.
		Wscript.echo "Datei in Bearbeitung: " & DatName 
74.
		Logbucheintrag = Logbucheintrag & vbCrLf & Time () & " " & OrgPfad 
75.
 
76.
	' Dateien tatsächlich verschieben 
77.
		LinkPfad = OrgPfad 
78.
        FS.MoveFile OrgPfad , ArcPfad 
79.
        'Subroutine Link für verschobene Datei anlegen 
80.
        LinkAnlegen 
81.
 
82.
	Next 
83.
 
84.
' Suche der Dateien in Unterordner 
85.
	For Each Unterordner In Ordner.subfolders 
86.
		OrgPfad = unterordner.path 
87.
		Wscript.echo "Unterpfad existiert: " 
88.
		Wscript.echo "Pfad: " & OrgPfad 
89.
 
90.
	' Lese auch in Unterordnerstruktur 
91.
		Listordner unterordner 
92.
 
93.
	Next 
94.
 
95.
End Sub 
96.
 
97.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
98.
'' Prüfung ob Archivordner vorhanden             '' 
99.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
100.
 
101.
Sub Archivordnerpruefung() 
102.
Dim Ordner 
103.
 
104.
Set fs = CreateObject("Scripting.FileSystemObject") 
105.
	If Not fs.FolderExists(ArcPfad) Then 
106.
    	fs.CreateFolder (ArcPfad) 
107.
	Else 
108.
		'nix machen 
109.
    End If 
110.
End Sub 
111.
 
112.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
113.
'' für jede verschoben Datei link anlegen        '' 
114.
''''''''''''''''''''''''''''''''''''''''''''''''''' 
115.
 
116.
Sub LinkAnlegen() 
117.
 
118.
Set ObjShell = CreateObject("WScript.Shell") 
119.
 
120.
  strLPfad = LinkPfad 
121.
  Set objShortcut=objShell.CreateShortcut(strLPfad & ".lnk") 
122.
  objShortcut.TargetPath= ArcPfad & DatName 
123.
  objShortcut.Save 
124.
 
125.
End Sub
Bitte warten ..
Mitglied: LotPings
27.07.2010 um 18:55 Uhr
Zitat von ceng.de:
Ideen?

Ja,
auch wenn ich mich wiederhole,
mache bitte einen neuen Frage-Beitrag auf - nicht anhängen.

gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Verschieben von Bildern in Laufwerk ohne Struktur

Frage von hoffi3dBatch & Shell9 Kommentare

Hallo, kann mir jemand helfen, ich möchte gerne eine Batch, die mir alle *.jpg und *.jpeg Dateien von einem ...

Batch & Shell

Batch zum suchen und verschieben von Dateien

gelöst Frage von zeroblue2005Batch & Shell5 Kommentare

Guten Tag Zusammen, ich benötige eine Batch, die folgendes kann: 1. Suche in bestimmten Dateipfad nach nach Dateien eines ...

Batch & Shell

Dateien verschieben mit batch

gelöst Frage von michi-ffmBatch & Shell13 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...

Batch & Shell

Dateien verschieben die älter sind wie 1 Tag

gelöst Frage von pblackyBatch & Shell3 Kommentare

Hallo Forum, Ich suche gerade nach einer Lösung via batch in einem Ordner mit Unterverzeichnissen alle Dateien zu verschieben, ...

Neue Wissensbeiträge
Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 44 MinutenAdministrator.de Feedback4 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 17 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...