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
GELÖST

For Schleife Dateien prüfen

Frage Entwicklung Batch & Shell

Mitglied: rcorten

rcorten (Level 1) - Jetzt verbinden

16.10.2009, aktualisiert 17:49 Uhr, 4920 Aufrufe, 5 Kommentare

Hallo zusammen,

ich habe folgende Situation.

ich möchte mit folgender Batch Datei überprüfen, ob die Datei: HST.EMP in den Verzeichnissen vorhanden ist. Wenn ja, sollen die HST.EMP Dateien mithilfe von 7zip komprimiert werden.


@echo off

set programpath=C:\Programme\7-Zip
set ordner=C:\send

for /l %%a in (401,1,450) do (
if not exist "%ordner%\%%a\HST.EMP" goto end
if exist "%ordner%\%%a\HST.EMP" goto compress
)

:compress
for /l %%a in (401,1,405) do "%programpath%\7z" a "%ordner%\%%a\HST.7z" "%ordner%\%%a\HST.EMP"

:end
exit



Die HST.EMP Dateien liegen in folgender Struktur:

C:\send\401\HST.EMP
C:\send\402\HST.EMP
C:\send\403\HST.EMP
C:\send\404\HST.EMP
C:\send\405\HST.EMP

usw...


Jetzt funktioniert die if not Exist Abfrage aber nicht. Das heisst, er versucht trotzdem etwas zu komprimiere, obwohl diese Datei nicht in dem Verzeichniss z.B. 402 liegt.

Ich möchte also, dass die Verzeichnisse übersprungen werden, wo keine HST.EMP enthalten ist.

Bin ich auf dem Holzweg oder mache ich einen Dankfehler?

Über etwas Hilfe würde ich mich freuen.


Nachtrag:

01.
@echo off 
02.
 
03.
set programpath=C:\Programme\7-Zip 
04.
set ordner=C:\send 
05.
 
06.
for /l %%a in (401,1,402) do if not exist "%ordner%\%%a\HST.EMP" goto end 
07.
 
08.
for /l %%a in (401,1,402) do "%programpath%\7z" a "%ordner%\%%a\HST.7z" "%ordner%\%%a\HST.EMP" 
09.
 
10.
:end 
11.
exit
Mit diesem vereinfachten Code habe ich das Problem, dass er die komprimierung nur startet, wenn in beiden Verzeichnissen, also in 401 und 402 die HST.EMP Datei enthalten ist.

Was mache ich falsch?
Mitglied: bastla
16.10.2009 um 18:39 Uhr
Hallo rcorten und willkommen im Forum!

Eigentlich sollte alles ab Zeile 6 einfach durch
for /l %%a in (401,1,450) do if exist "%ordner%\%%a\HST.EMP" "%programpath%\7z" a "%ordner%\%%a\HST.7z" "%ordner%\%%a\HST.EMP"
zu ersetzen sein ...

Grüße
bastla
Bitte warten ..
Mitglied: rcorten
16.10.2009 um 18:55 Uhr
Hallo bastla,

vielen vielen Dank, es hat geklappt.

Aber kannst du mir auch erklären, warum meine Abfrage nicht funktioniert?

Ist aber auch egal...

Jedenfalls, Vielen Dank!
Bitte warten ..
Mitglied: bastla
16.10.2009 um 19:01 Uhr
Hallo rcorten!
Aber kannst du mir auch erklären, warum meine Abfrage nicht funktioniert?
Wenn das erste Mal in einem geprüften Ordner die gesuchte Datei nicht vorhanden ist, wird Dein Batch beendet (und daher kein weiterer Ordner geprüft) ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
16.10.2009 um 19:06 Uhr
Moin rcorten,

willkommen im Forum
Zitat von rcorten:
Aber kannst du mir auch erklären, warum meine Abfrage nicht funktioniert?

Ist aber auch egal...
ja watt nu?

Deine Abfrage funktioniert natürlich as designed, nur hast du etwas anderes gemeint.

Deine Abfrage: Wenn in einem einzigen der abgeklapperten Verzeichnisse die Datei nicht existiert, dann GOTO END.
--> Übersetzt: In ALLEN Verzeichnissen muss diese Datei da sein, sonst passiert gar nix.

Bastlas Abfrage: Hey, in JEDEM Verzeichnis, in dem du watt findest: Zip den Kram.

Ist schon ein gewisser Unterschied.

Ich mein nur, falls es dich doch interessiert...

Grüße
Biber


[Edit] Moin bastla, sorry, ich hatte wieder nicht in den rechten Aussenspiegel geschaut...
Schönes Wochenende
Biber
[/Edit]
Bitte warten ..
Mitglied: rcorten
19.10.2009 um 09:35 Uhr
Vielen dank für eure Unterstützung!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In Batch auf Erstelldatum einer Datei prüfen
gelöst Frage von AS-N00Batch & Shell5 Kommentare

Hallo, foolgendes Problem. Ich muss eine leer Datei "dpd.ini" in "d:\bw50" erstellen, wenn in einem Ordner "d:\bw50\dpd\export\" es keine ...

Batch & Shell
For Schleife in einer .sh Datei
Frage von CrystalFlakeBatch & Shell4 Kommentare

Hallo Com, ich habe die Aufgabe bekommen in einer .sh File die beim Kuden ausgeführt werden soll, eine for ...

Batch & Shell
Bat - Schleife aus txt Datei
gelöst Frage von hoffi3dBatch & Shell16 Kommentare

Hallo, ich habe mir ein kleines Sicherungsscript gebastelt, und würde dieses gerne vereinfachen. Im Augenblick habe ich für jeden ...

Batch & Shell
EDI Dateien auf Inhalt prüfen und verschieben
gelöst Frage von ThomasKernBatch & Shell6 Kommentare

Hallo zusammen, ich habe gerade eine Aufgabe zu bewältigen bei welcher ich seit mehreren Tagen nicht weiterkomme. Evtl. hat ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless9 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...