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

Auf bestehende Dateien per xml Datei überprüfen.

Mitglied: Kalamari

Kalamari (Level 1) - Jetzt verbinden

06.11.2011, aktualisiert 13:12 Uhr, 2682 Aufrufe, 3 Kommentare

Hallo

Ich habe einige Probleme, um bestehende Dateien auf einem Pfad zu überprüfen und falls diese Datei bereits existiert, sollte diese nicht überschrieben werden.
Da immer eine meta.xml existiert, in der die Versionsnummer angegeben ist, dachte ich, ich verwende einfach diese Datei.
Versucht habe ich mein glück mit findstr in dieser Ausfürhung ...

if exist "Pfad\datei\meta.xml" findstr /c:"3.0 b1123" "Pfad\datei\meta.xml" >nul
if errorlevel 0 echo Die Anwendung ist bereits in der Version 3.0 vorhanden.
if errorlevel 1 rd "Pfad\datei\" /s /q & echo Eine frühere Version der Anwendung wurde gefunden und wird entfernt.

In der meta.xml steht der Eintrag so drin: <version>3.0 b1123</version>

Ja, leider klappt das nicht so wirklich.
Ist die richtige Datei Version vorhanden, kommt schön die Meldung "Die Anwendung ist bereits in der Version 3.0 vorhanden."
Ist die richtige Datei aber nicht vorhanden, oder es fehlt überhaupt der komplette Ordner, kommt auch diese Meldung...

Bitte um Hilfe, was mache ich falsch oder wie kann ich das Problem besser lösen?
Vielen dank
Mitglied: bastla
06.11.2011 um 13:45 Uhr
Hallo Kalamari!
if errorlevel 0
ist eine sinnlose Abfrage, da damit geprüft wird, ob der Errorlevel >= 0 ist (siehe "if /?") ...

... daher entweder
01.
if exist "Pfad\datei\meta.xml" ( 
02.
    findstr /c:"3.0 b1123" "Pfad\datei\meta.xml" >nul 
03.
    if errorlevel 1 ( 
04.
        rd "Pfad\datei\" /s /q & echo Eine frühere Version der Anwendung wurde gefunden und wird entfernt. 
05.
    ) else ( 
06.
        echo Die Anwendung ist bereits in der Version 3.0 vorhanden. 
07.
08.
)
oder gleich
01.
findstr /c:"3.0 b1123" "Pfad\datei\meta.xml" >nul 2>nul && ( 
02.
    echo Die Anwendung ist bereits in der Version 3.0 vorhanden. 
03.
) || ( 
04.
    rd "Pfad\datei\" /s /q 2>nul && echo Eine frühere Version der Anwendung wurde gefunden und wird entfernt. 
05.
)
Was sollte übrigens passieren, wenn "Pfad\datei\meta.xml" nicht gefunden wird?

Grüße
bastla
Bitte warten ..
Mitglied: Kalamari
06.11.2011 um 14:07 Uhr
Erstmal vielen Dank für Deine Hilfe!
Sollte die meta.xml gar nicht vorhanden sein, soll ein Ordner erstellt werden und die benötigten Dateien da rein kopiert werden.
Hmm, da stellt sich wieder die Frage, ob diese dann überhaupt vorhanden ist.

Also, ich hab da einen Downloader, der downloadet auf Wunsch die verschiedenen Applikationen, welche dann auf einen USB Stick kopiert werden sollten.

Datei wäre der Ordner vom Downloader und überprüft, ob überhaupts eine xml vorhanden ist.
Ist sie vorhanden, kann man weiter machen mit der Überprüfung
Da sollte das dann doch so gehen in etwa - jetzt grob geschrieben ...

if exist "Pfad\datei\meta.xml" if exist "USBStick\datei\meta.xml" (

Das sollte nur als Abgleich dienen, ob die gewünschte Datei vor dem Kopieren überhaupts in dem Ordner von dem Downloader vorhanden ist oder nicht?
Das heißt, das müsste noch in Deinem Code ein der ersten Zeile mit eingebaut werden oder?

Hmm, ich bin jetzt total verwirrt...
Kurz gesagt, es oll überprüft werden, ob die Datei in dem Ordner vom Downloader überhaupts zum Download ausgewählt wurde, wenn ja, ob die Datei auch auf dem Stick überhaupt in dem Ordner eine Datei namens meta.xml vorhanden ist.
Ist sie vorhanden, soll sie überprüft werden.
Ist diese Datei älter, soll sie entfernt werden und die neue drauf kopiert werden.
Ist das die identische Datei, soll gar nichts passieren...
Ist die Datei auf dem USB Stick nicht vorhanden, jedoch vom Downloader herunter geladen worde sein, soll sie kopiert werden.

Boah, jetzt bin ich überfordert und muss mir das nochmal durch denken.

Inzwischen vielen Dank für den Ansatz, Dein erster Code gefällt mir besser, da ich den besser verstehe
Bitte warten ..
Mitglied: bastla
06.11.2011 um 14:56 Uhr
Hallo Kalamari!
Dein erster Code gefällt mir besser, da ich den besser verstehe
"&&" entspricht einem "if %errorlevel%==0" und entsprechend "||" einem "if %errorlevel% neq 0" - damit sollte es klarer werden ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batchdatei soll überprüfen, ob auf eine Log Datei

Frage von hoppalaBatch & Shell1 Kommentar

Hiho :) ! Ein Freund und ich haben eine Batchdatei erstellt, leider kommen wir bei einer Sache nicht weiter. ...

Windows 10

PowerShell mit LastWriteTime Dateien überprüfen

gelöst Frage von mr.kkevWindows 101 Kommentar

Hallo liebe Experten Momentan bin ich ein Skript am Schreiben, welches Erstellte PDFs auf ihr Datum überprüft. Leider habe ...

Batch & Shell

Batch: Ordner auf Datei überprüfen

gelöst Frage von donmanolitoBatch & Shell4 Kommentare

Hallo Ich suche eine Möglichkeit alle Ordnernamen eines Verzeichnisses in eine Variable zu schieben um dann per Schleife ein ...

Entwicklung

Aus Dateien Strukturiert XMLs erstellen

gelöst Frage von MaxiamEntwicklung24 Kommentare

Schönen guten Morgen, ich bin neu also verzeiht Eventuelle ungenaue Fragestellungen ;) Ausgangssituation: ca. 1600 1Kb große Dateien die ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 18 StundenDatenschutz2 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 3 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
Hardware
Sophos SG135 - Routing
gelöst Frage von Xaero1982Hardware22 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail18 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Windows Server
In-Place Upgrade von Windows Server 2008 R2 Datacenter zu Windows Server 2016 Datacenter (Zwischenschritt über 2012 R2)
gelöst Frage von TowerpleaseWindows Server16 Kommentare

Hallo Administratoren, Wir haben uns vor ein paar Monaten Windows Server 2016 Datacenter Lizenzen gekauft und wollen nun unsere ...

Windows 7
Mit gpedit gesetzte Richtlinien in rsop.msc nicht definiert und ausgegraut
gelöst Frage von 137006Windows 715 Kommentare

Hallo zusammen, anfangs verweise ich fairerweise daruf dass ich dieses Thema bereits im Forum angeschnitten habe, nachdem ich hier ...