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

Aktuelle Dateien mit Hilfe einer Batch-Routine suchen

Frage Entwicklung Batch & Shell

Mitglied: joe65

joe65 (Level 1) - Jetzt verbinden

03.08.2013 um 17:53 Uhr, 1937 Aufrufe, 5 Kommentare

Hallo,

ich möchte mit Hilfe eines Batch-Scriptes alle Dateien, deren Änderungsdatum aktueller ist als ein vorgegebenes Datum in eine Datei "Aktuelle_Dateien.txt" schreiben.

Das von mir erstellte Script kann das aber nicht. Ich weiß nicht was da falsch ist.

Beginn des Scripts:
@echo off
setlocal
cls

echo Aktuelle Dateien im Verzeichnis ermitteln!

set "Ergebnisdatei=Aktuelle_Dateien.txt"

TITLE Aktuelle Dateien ermitteln

set myPath=
set /p myPath=Geben Sie einen Pfad ein:
if /i '%myPath%'=='' (
echo Es wurde kein Pfad eingegeben!
pause
exit
)
if /i not exist %myPath% (
goto eof
)

set myDate=
set /p myDate=Geben Sie ein Datum ein:
echo.
echo myDate=%myDate%

echo Aktuelle Dateien im Verzeichnis %myPath% ermitteln und in eine Ergebnisdatei = %Ergebnisdatei% schreiben!

for /f "delims=" %%i in ('dir "%myPath%\*.*" /s /b') do (
if "%%~ti" GEQ "%myDate%" (
echo %%~fi >> %Ergebnisdatei%
)
)
exit
:eof
echo Ungueltiger Pfad: %myPath%
pause
Ende des Scripts

Mitglied: bastla
03.08.2013, aktualisiert um 18:15 Uhr
Hallo joe65!

Es werden so nicht Datumswerte, sondern Strings verglichen - dadurch wäre zB
01.08.2012
größer als
01.07.2013
(weil eben "8" > "7"). Wenn Du das Datum in die Form "JJJJMMTT" bringst, wird der Vergleich funktionieren ...
Du könntest das Ganze aber vereinfachen, indem Du
xcopy /LSY /D:M-T-J "%myPath%" C:\|findstr /vc:"Datei(en) kopiert">"%Ergebnisdatei%"
verwendest.

Grüße
bastla

[Edit] Beispiel vervollständigt [/Edit]
Bitte warten ..
Mitglied: joe65
03.08.2013 um 18:16 Uhr
Hallo bastla,

habe den xcopy - Befehl ins Script eingebaut, geht aber trotzdem nicht.

@echo off
setlocal
cls

echo Aktuelle Dateien im Verzeichnis ermitteln!

set "Ergebnisdatei=Aktuelle_Dateien.txt"

TITLE Aktuelle Dateien ermitteln

set myPath=
set /p myPath=Geben Sie einen Pfad ein:
if /i '%myPath%'=='' (
echo Es wurde kein Pfad eingegeben!
pause
exit
)
if /i not exist %myPath% (
goto eof
)

set myDate=
set /p myDate=Geben Sie ein Datum ein:
echo.
echo myDate=%myDate%

echo Aktuelle Dateien im Verzeichnis %myPath% ermitteln und in eine Ergebnisdatei = %Ergebnisdatei% schreiben!

rem xcopy /L /D:M-T-J

for /f "delims=" %%i in ('dir "%myPath%\*.*" /s /b') do (
xcopy /L /D:%myDate% >> %Ergebnisdatei%
)

exit
:eof
echo Ungueltiger Pfad: %myPath%
pause
Bitte warten ..
Mitglied: bastla
03.08.2013 um 18:20 Uhr
Hallo joe65!

Der "xcopy"-Befehl (ich habe das Beispiel oben inzwischen komplettiert) ersetzt die gesamte "for"-Schleife ...

Grüße
bastla

P.S.: Verwende für Batch-Schnipsel doch bitte "Code"-Formatierung (lässt sich auch nachträglich noch durchführen) ...
Bitte warten ..
Mitglied: joe65
03.08.2013 um 18:29 Uhr
Hallo bastla,

Danke für deine Hilfe. Jetzt funktioniert die Sache.
Bitte warten ..
Mitglied: bastla
03.08.2013 um 18:49 Uhr
Hallo joe65!
Jetzt funktioniert die Sache.
... bis auf die "Code"-Formatierung ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Batch & Shell
Nur aktuelle Dateien kopieren (3)

Frage von icke.hausen zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

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

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

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 ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...