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
Kommentar vom Moderator Biber am 05.11.2009 um 16:58:55 Uhr
Kommentar von Moderator Biber am 05.11.2009 um 16.58.55 Uhr
Ich ringe seit Stunden mit mir, ob ich diese SMS-Frage nicht doch lieber schreddern sollte...
Gut, dass Geduld mein zweiter Vorname ist. Hat sich ja zum Guten gewendet.
GELÖST

Batch kompletter ordner Verschieben wenn bestimmt Zeit nicht mehr bearbeitet

Frage Entwicklung Batch & Shell

Mitglied: Weider1978

Weider1978 (Level 1) - Jetzt verbinden

05.11.2009, aktualisiert 06.11.2009, 5311 Aufrufe, 6 Kommentare

Hallo

Ich möchte gern von einem Verzeichnis in ein anderes Verzeichnis alle Ordner verschieben wo der Inhalt seit 30 tagen nicht mehr verändert wurde. Nur ich habe da gar keine ahnung wie man so eine BAtch datei schreibt. Kann mir da jemand helfen.
Mitglied: Iwan
05.11.2009 um 11:02 Uhr
hallo zurück,

ein Frage definiert sich zu einem durch den Aufbau und zum anderen durch das abschliessende Satzzeichen (hier ein ?)
aber das nur mal am Rande....

um welches Betriebssystem handelt es sich? wird die Batch lokal ausgeführt oder auf einem Netzlaufwerk?
Bitte warten ..
Mitglied: Weider1978
05.11.2009 um 11:09 Uhr
Danke für die schnelle Antwort.
Die Batch soll lokal ausgeführt werden und unter XP.
Bitte warten ..
Mitglied: TsukiSan
05.11.2009 um 14:51 Uhr
hallo Weider1978,

falls es vbs sein darf:
so kopiert man einen ganzen Ordner in vbs:
01.
Const FOF_CREATEPROGRESSDLG = &H0& 
02.
 
03.
ParentFolder = "C:\OriginalOrdner"  
04.
Set objShell = CreateObject("Shell.Application") 
05.
Set objFolder = objShell.NameSpace(ParentFolder)  
06.
objFolder.CopyHere "C:\BackupOrdner", FOF_CREATEPROGRESSDLG
und so kann man Eigesnschaften einer Datei abfragen:
01.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
02.
Set objFile = objFSO.GetFile("c:\OriginalOrdner\MeineDatei.txt") 
03.
 
04.
Wscript.Echo "Date created: " & objFile.DateCreated 
05.
Wscript.Echo "Date last accessed: " & objFile.DateLastAccessed 
06.
Wscript.Echo "Date last modified: " & objFile.DateLastModified 
07.
Wscript.Echo "Drive: " & objFile.Drive 
08.
Wscript.Echo "Name: " & objFile.Name 
09.
Wscript.Echo "Parent folder: " & objFile.ParentFolder 
10.
Wscript.Echo "Path: " & objFile.Path 
11.
Wscript.Echo "Short name: " & objFile.ShortName 
12.
Wscript.Echo "Short path: " & objFile.ShortPath 
13.
Wscript.Echo "Size: " & objFile.Size 
14.
Wscript.Echo "Type: " & objFile.Type
Das ganze nur mit dem aktuellen Datum und dem letzten Aenderungsdatum der Datei vergleichen und entsprechende Reaktion ausloesen.

Gruss
Tsuki
Bitte warten ..
Mitglied: Weider1978
06.11.2009 um 09:07 Uhr
Moin
Das ist schon mla in Anfang Danke.

Ich habe es jetzt wie folgt geschrieben

01.
  
02.
<job id="main"> 
03.
	<script language="VBScript"> 
04.
		WScript.Echo "VBScript" 
05.
		Const FOF_CREATEPROGRESSDLG = &H0&  
06.
 
07.
        Dim intTage             
08.
        Dim strOrdner           
09.
      
10.
        Set objFSO = CreateObject("Scripting.FileSystemObject") 
11.
        strOrdner = "C:\Test1" 
12.
        intTage = 0 
13.
 
14.
        Set objOrdner = objFSO.GetFolder(strOrdner) 
15.
        For Each objDatei In objOrdner.Files 
16.
        WScript.Echo objDatei.DateLastModified, Now 
17.
            If DateDiff("d", objDatei.DateLastModified, Now) >= intTage Then 
18.
                Set objShell = CreateObject("Shell.Application")   
19.
		        Set objFolder = objShell.NameSpace(strOrdner)  
20.
		        objFolder.CopyHere "C:\Test2", FOF_CREATEPROGRESSDLG  
21.
'                objDatei.Delete         
22.
            End If 
23.
        Next 
24.
	</script> 
25.
</job>
es funktioniert soweit das er die Dateien die das alter haben kopiert und löscht. Nur das Problem was ich nun habe das er halt nur Dateien kontrolliert und verschiebt und Unterordner komplett auslässt.
Bitte warten ..
Mitglied: Weider1978
06.11.2009 um 09:34 Uhr
Fehler gefunden.

der Fehler lag in der For Each
bei mir stand objOrdner.Files richtig wäre aber objOrdner.Subfolders
Bitte warten ..
Mitglied: Weider1978
06.11.2009 um 14:52 Uhr
also das lief auch noch nicht wie es sollte habe aber jetzt die richtige Lösung gefunden

01.
<job id=\"main\"> 
02.
	<script language=\"VBScript\"> 
03.
		Const FOF_CREATEPROGRESSDLG = &H0&  
04.
 
05.
        Dim intTage             
06.
        Dim strOrdner          
07.
        Dim strOrdnerNeu  
08.
      
09.
        Set objFSO = CreateObject(\"Scripting.FileSystemObject\") 
10.
        strOrdner = \"C:\\Test1\"      \'Ausgangsordner 
11.
        strOrdnerNeu = \"C:\\Test2\"   \'Zielordner 
12.
        intTage = 10                 \'Zeitraum 
13.
 
14.
        Set objOrdner = objFSO.GetFolder(strOrdner) 
15.
        For Each objDatei In objOrdner.Subfolders 
16.
            If DateDiff(\"d\", objDatei.DateLastModified, Now) >= intTage Then 
17.
                objFSO.CopyFolder objDatei , strOrdnerNeu + \"\\\"+ objDatei.Name 
18.
                objDatei.Delete         
19.
            End If 
20.
        Next 
21.
	</script> 
22.
</job>
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Vmware
gelöst Manche VMs lassen sich nicht in Ordner verschieben (3)

Frage von Zippo97 zum Thema Vmware ...

Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...