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

For Schleife Dateien prüfen

Frage Entwicklung Batch & Shell

Mitglied: rcorten

rcorten (Level 1) - Jetzt verbinden

16.10.2009, aktualisiert 17:49 Uhr, 4914 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
gelöst Löschen von Dateien nach bestimmten Zeitmuster (8)

Frage von NetzwerkDude zum Thema Batch & Shell ...

PHP
gelöst PHP Key - Value Dictionary in einer Schleife erzeugen (3)

Frage von facebraker zum Thema PHP ...

SAN, NAS, DAS
gelöst Synchronisation großer Dateien (14)

Frage von ThinkBad zum Thema SAN, NAS, DAS ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
gelöst NTFS und die Defragmentierung (29)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Windows Server
gelöst Wechsel von Server 2016 GUI auf Core mit minimal server interface (10)

Frage von Fruehling2017 zum Thema Windows Server ...