AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Batch: In Schleife prüfen, ob Datei vorhanden
Thema durchsuchen
Ansicht
Themen-Optionen

Batch: In Schleife prüfen, ob Datei vorhanden

Ein Thema von Anno · begonnen am 26. Feb 2008 · letzter Beitrag vom 7. Mär 2008
Antwort Antwort
Anno

Registriert seit: 26. Feb 2008
5 Beiträge
 
#1

Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 26. Feb 2008, 19:17
Hallo ,

ich hab ein keines Problem mit Batch:

@echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
echo Erstellungsdatum dieser Datei: %tag%.%monat%.%jahr% >> "%computername% - Logfile.txt"
echo. >> "%computername% - Logfile.txt"
echo Computername: %computername% >> "%computername% - Logfile.txt"
echo. >> "%computername% - Logfile.txt"

for %%f in (
%prog%
"C:\Programme\Teamspeak2_RC2\TeamSpeak.exe"
"C:\Programme\MirandaProZ\Miranda32.exe"
"C:\Programme\loool.exe"
) do echo %%f: Erstellt: %%~tf >> "%computername% - Logfile.txt"
:ende

Es funkioniert soweit zwar schon ganz gut, und zeigt an an, wann TeamSpeak.exe erstellt wurde, bei "loool.exe" zeigt er aber nichts an und lässt es auch nicht weg.
Ich möchte davor ein if exist einbauen, bekomme es aber nicht hin.

Folgende Text-Datei wird erstellt:

Erstellungsdatum dieser Datei: 26.02.2008

Computername: *********

"C:\Programme\Teamspeak2_RC2\TeamSpeak.exe": Erstellt: 01.12.2007 00:42
"C:\Programme\MirandaProZ\Miranda32.exe": Erstellt: 22.11.2007 01:15
"C:\Programme\loool.exe": Erstellt:

Und jetzt sollte er eben die Zeile entfernen, in der die Datei nicht vorhanden ist.

Jetzt gibts nur noch ein Problem, dass das Erstellungsdatum eigentlich nicht stimmt.
Wenn ich jetzt hier z. B. TeamSpeak neu installiere, sollte er eigentlich das heutige Datum + Uhrzeit anzeigen. Geht sowas?
Wenn nicht, werde ich wohl die Ordner dafür hernehmen müssen.

Danke schonmal =)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 26. Feb 2008, 20:31
Herzlich willkommen in der Delphi-PRAXiS, Anno.

Die ausgegebenen Zeitstempel dürften schon stimmen, da das Setup-Programm bei der Installation jeder Datei ihren ursprünglichen Zeitstempel mitgibt.

Die Existenzprüfung kannst du so einbauen:

Code:
for %%f in (
%prog%
"C:\Programme\Teamspeak2_RC2\TeamSpeak.exe"
"C:\Programme\MirandaProZ\Miranda32.exe"
"C:\Programme\loool.exe"
) do if exist %%f echo %%f: Erstellt: %%~tf >> "%computername% - Logfile.txt"
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Anno

Registriert seit: 26. Feb 2008
5 Beiträge
 
#3

Re: Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 26. Feb 2008, 21:04
Hi,

erstmal danke für deine Antwort.
Das mit dem if exist klappt schonmal wunderbar.

Mit dem Zeitstempel hab ich mich vielleicht bissl blöd ausgedrückt.
Also einfach ausgedrückt ist es so:

Wir haben hier n paar PCs stehen.
Entsprechende Nutzer können sich mit ihrer Kennung anmelden und haben (leider) wegen diverser Fachsoftware Administratorrechte.

Da es laut Nutzungsbedingungen verboten ist, selbst Programme zu installieren, würde ich gerne (vorallem aus persönlichem Interesse) mal ein kleines Skript schreiben, dass mir die unrechtmäßig installierten Programme schnell und einfach in eine Textdatei speichert.

Jetzt hab ich nur noch ein kleines Problem mit den Erstellungsdaten.
Hab mir zum Test auch mal ICQ installiert und mir die Exe mit dem Skript ausgeben lassen:

"C:\Programme\ICQ6\ICQ.exe" Erstellt: 19.12.2007 15:48

Wenn ich auf sie rechtsklicke, bekomme ich angezeigt, dass sie am 23. Dez 2007 erstellt wurde.
Geändert wurde sie zuletzt am 19. Dez 2007 (= Ausgabedatum des Skipts). Weiß zwar nicht, wie ich eine Datei vor ihrer Erstellung ändern soll, aber so stehts da. :>

Und jetzt möchte ich eben wissen, wann sie installiert wurde ... damit ich weiß wer's war. :>
Das würde zwar anscheinend über die Ordner funkionieren, aber vorallem werden die Ordner bei einer evtl. deinstallation (meistens) nicht gelöscht.

Dann sag ich nochmal danke und hoff, dass ich bald ne Antwort krieg.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 27. Feb 2008, 08:54
Warum so kompliziert?

Es gibt "Inventory-Software", die Dir auf einen Blick sagen kann, auf welchem PC welche Software installiert ist.
Manche dieser Programme können die Software sogar gleich löschen.
Musst mal google bemühen, dann findest Du sicher das Richtige für Dich.

Wir hatten so eine (nein mehrere) Programme damals im Einsatz, als es darum ging, zu prüfen, ob alle installierten Programme Jahr-2000-tauglich sind.
Das eine Programm hat alle PCs durchsucht und eine Liste aufgebaut, das andere hat die Liste ausgewertet.
Als Nebeneffekt haben wir ganz viele "illegale" Software gefunden, die die User im Laufe der Zeit installiert hatten. Es gab so machen Anschiss für die User.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Anno

Registriert seit: 26. Feb 2008
5 Beiträge
 
#5

Re: Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 27. Feb 2008, 15:03
Hm, aber leider weiß ich dann nicht, wer das installiert hat.

Danke für den Vorschlag, aber ich denke, ich bleibe bei meinem kleinen Skript.

Brächte ich eben nur noch Hilfe beim Erstellungsdatum, da das noch nicht ganz stimmt.
Hat jemand ne Idee?

Danke =)

//Edit:
Habe das grade gefunden:
for /F "Tokens=1*" %f in ('dir /A-D /T /-C ^|find "."') do echo %f

Sollte wohl das Erstellungsdatum ausgeben ... nur leider versteh ich nich, wo ich den Pfad angeben kann.
In dem Befehl würde er jetzt nach dem "." suchen, oder? Aber in welchem Verzeichnis?
Und wie sag ich ihm, er soll mir Datum + Zeit ausgeben?

Danke
  Mit Zitat antworten Zitat
Anno

Registriert seit: 26. Feb 2008
5 Beiträge
 
#6

Re: Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 28. Feb 2008, 15:14
Hm, keiner ne Idee?
  Mit Zitat antworten Zitat
Anno

Registriert seit: 26. Feb 2008
5 Beiträge
 
#7

Re: Batch: In Schleife prüfen, ob Datei vorhanden

  Alt 7. Mär 2008, 11:15
Wirklich keiner?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz