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

Frage Entwicklung Batch & Shell

GELÖST

Änderungsdatum von Datei ermitteln - NICHT Erstellungsdatum

Mitglied: Baenky

Baenky (Level 1) - Jetzt verbinden

01.07.2009, aktualisiert 14:40 Uhr, 8923 Aufrufe, 11 Kommentare

Hallo zusammen, ich hoffe jmd. kann mir sagen, wie ich hier weiterkomme ... ich denke, es ist nur eine Kleinigkeit...

Ich möchte gerne die beiden Datumsangaben für "geändert am" zweier Dateien vergleichen.

hier im Forum habe ich gesehen, dass ich mir das Datum folgendermaßen ausgeben lassen kann:

for %i in ("%ProgramFiles%\Datei") do @echo %~ti

Es scheint aber leider das "erstellt am"-Datum sein und somit nicht das, was ich brauche...

Ich hab mir meine beiden Dateien angesehen. Als Ausgabe erhalte ich das Erstellungsdatum.

Ich habe auch schon mal wild herumprobiert, von wegen %~tm oder %~tl - so nach dem Motto: könnte "last modified" heißen. Hat natürlich nicht funktioniert

Kann mir jmd. sagen, wie ich dahinter komme? Oder zumindest wonach ich suche könnte...

Danke und Gruß

Nadine
Mitglied: bastla
01.07.2009 um 15:23 Uhr
Hallo baenky und willkommen im Forum!

Eigentlich solltest Du mit "~ti" tatsächlich das Änderungsdatum erhalten ...

Mit der folgenden Zeile kannst Du aber genau (durch die Option "/t" des "dir"-Befehles) festlegen, welches Datum es nun sein soll:
for /f "tokens=1,2" %i in ('dir "%ProgramFiles%\Datei" /tw^|findstr /i /c:" Datei"') do @echo %i_%j
Grüße
bastla
Bitte warten ..
Mitglied: Baenky
01.07.2009 um 15:34 Uhr
Hallo bastla,

Danke für die schnelle Antwort.

Ich kenne mich mit dem Scripting leider noch nicht aus und hab heute das erste mal ins Thema reingeschnuppert... mit Deinem Code erhalte ich die Anzahl der Dateien - kann das sein?

Gruß

Nadine
Bitte warten ..
Mitglied: bastla
01.07.2009 um 18:36 Uhr
Hallo baenky!
mit Deinem Code erhalte ich die Anzahl der Dateien - kann das sein?
Sollte es nicht - wenn Du für "Datei" jeweils einen korrekten Dateinamen inkl. Typ einsetzt, also etwa
Z:\>for /f "tokens=1,2" %i in ('dir "%programfiles%\mozilla firefox\firefox.exe" /tw^|findstr /i /c:" firefox.exe"') do @echo %i_%j
solltest Du auch Datum und Uhrzeit als Ergebnis erhalten.

Grüße
bastla
Bitte warten ..
Mitglied: Baenky
02.07.2009 um 08:13 Uhr
Hallo bastla,

Danke, jetzt bekomme ich die Zeiten - lag aber doch an etwas anderem...war einfach blind

Jetzt muss ich eigentlich nur noch die Daten vergleichen...ich denke dann sollte ich durch sein.

Gruß

Nadine
Bitte warten ..
Mitglied: Biber
02.07.2009 um 08:46 Uhr
Moin Baenky,

willkommen im Forum auch von mir.
Zitat von Baenky:
Jetzt muss ich eigentlich nur noch die Daten vergleichen...
ich denke dann sollte ich durch sein.
Genau genommen erst dann, wenn dieser Beitrag auch einen klitzekleinen Toastbrot-aus-2008-farbenen Haken von Dir erhält.

Grüße
Biber
Bitte warten ..
Mitglied: Baenky
06.07.2009 um 10:54 Uhr
Hallo nochmal,

ich kann jetzt die Daten vergleichen - das klappt, aber leider komme ich nicht mit dem Rest zurecht.

Eigentlich wollte ich eine Sprungmarke anspringen, wenn die Datei-Datumsangaben NICHT gleich sind, aber das klappt nicht:

01.
rem call msiexec /i  \\accfile\ams\Install\acc.CV\Com_CV_Install.msi  
02.
 
03.
@echo off 
04.
setlocal 
05.
 
06.
set AMSDest=%ProgramFiles%\AMS 
07.
set AESDest=%ProgramFiles%\AES 
08.
 
09.
set AMSSrc=K:\Install 
10.
set AESSrc=K:\Install\AES 
11.
 
12.
::Aktionen durchführen, Variable "Datum" aus Dateidatum erhalten, mit % ~ti  
13.
for %i in ("K:\Install\AMS.exe") do set dateRC=%~ti 
14.
for %i in ("%ProgramFiles%\AMS\AMS.exe") do set dateLokal=%~ti 
15.
 
16.
if not "%dateRC%"=="%dateLokal%" goto :doit 
17.
goto :ende 
18.
echo test 
19.
 
20.
:doit  
21.
echo Entferne alte DLL aus Registrierung 
22.
 
23.
 
24.
:ende 
25.
echo endlocal
Die zu vergleichenden Were sind aktuell gleich. Somit sollte doit: übersprungen werden und nur zu ende: gegangen werden. Das ist aber nicht der Fall... mache ich etwas falsch?

Noch eine allgemeine frage: Können nach einer Sprungmarke mehrere Befehle folgen? Das müsste doch eigentlich gehen, weil er nur dahin springt und von da weiter macht, oder?
Bitte warten ..
Mitglied: 80220
06.07.2009 um 11:04 Uhr
Zitat von Baenky:
... mache ich etwas falsch?

Ja.
Im Batch muss für Schleifenvariablen ein doppeltes Prozentzeichen verwendet werden, alse
01.
for %%i in ("K:\Install\AMS.exe") do set dateRC=%%~ti 
02.
for %%i in ("%ProgramFiles%\AMS\AMS.exe") do set dateLokal=%%~ti
In einer Subroutine (Sprungmarke) kannst du auch mehrere Anweisungen verarbeiten.
Bitte warten ..
Mitglied: Baenky
06.07.2009 um 11:05 Uhr
Ok, auch für das %~ti ?

Oder nur für dateLocal und dateRC?

Danke und Gruß

Nadine
Bitte warten ..
Mitglied: 80220
06.07.2009 um 11:07 Uhr
dateLocal und dateRC

Das sind keine Schleifenvariablen, sondern ganz normale Variablen.
Bitte warten ..
Mitglied: Baenky
06.07.2009 um 11:09 Uhr
Danke, jetzt klappt es.

Gruß

Nadine
Bitte warten ..
Mitglied: Biber
06.07.2009 um 11:14 Uhr
Ja.

Schleifenvariablen (=dynamische Laufvariablen) werden von den FOR-Anweisungen generiert und ggf. etwas spezielle ausgegeben.
D.h diese Variablen
  • existieren nur, solange auch die FOR-Anweisung ausgeführt wird
  • heißen am CMD-Prompt "%+ein Nicht-Ziffern-Zeichen" -->%i, %j ..oder %A, %B
  • heißen im Batch "%%+ein Nicht-Ziffern-Zeichen" -->%%i, %%j ..oder %%A, %%B
  • können leicht abgeschrägte Datailwerte liefern (%~ti ---> %%~ti etc)
  • können ein paar Sachen nicht, die mit SET gesetzte Variable mit links schaffen (Substring oder einzelnes Zeichen zurückgeben)


Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Java
Auf html Seite Erstellungsdatum bzw. Änderungsdatum einer TXT Datei ausgeben
gelöst Frage von horstvogelJava7 Kommentare

Hallo Leute, bei einer bestehenden Webanwendung möchte ich auf der html Seite, das Änderungsdatum einen bestimmen Datei txt die ...

Batch & Shell
Batch : Wenn Erstellungsdatum und Änderungsdatum älter als x Tage, lösche Datei
gelöst Frage von Jack005Batch & Shell2 Kommentare

Hallo zusammen, ich weiß, dass es ähnliche Themen schon öfters gab. Ich habe mir auch wirklich so ziemlich alle, ...

Batch & Shell
Datei nach Erstellungsdatum verschieben
Frage von Kugelschreiber1Batch & Shell2 Kommentare

Hallo, ich möchte über eine Batch-Datei Dateien, die älter als 20 Tage sind, in einen anderen Ordner verschieben. Dabei ...

Windows 7
Dateiordner Änderungsdatum
gelöst Frage von BergEnteWindows 78 Kommentare

Hallo Forum, auf einem Windows 7 SP1 Pro PC, alle Updates, liegt in einem Ordner ein Word Dokument. Wenn ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...