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

Größe von Dateien vergleichen und Ergebnis ausgeben bzw. verwenden

Frage Entwicklung Batch & Shell

Mitglied: DerKleba

DerKleba (Level 1) - Jetzt verbinden

23.05.2007, aktualisiert 19:08 Uhr, 5283 Aufrufe, 6 Kommentare

Hallo ihr Lieben!

Ich habe eine Frage. Und zwar:

Wie kann ich per Batch herausfinden ob 2 Dateien gleich groß sind oder nicht und wie verwende ich das Ergebnis einer solchen Abfrage.

Beispielsweise:
Ich vergleiche die Größe von 2 Dateien und möchte das, WENN die Dateien gleich groß sind quasi gesagt wird "Alles klar" und GOTO Irgendwas und WENN sie nicht gleich groß sind "Hey, die sind nicht gleich groß" GOTO EtwasAnderes.

Sinngemäß zumindest. Hoffe ihr könnt mir helfen

Und entschuldigt bitte, falls so ein Beitrag schon existiert, konnte nichts finden.

LG
DerKleba
Mitglied: bastla
23.05.2007 um 14:00 Uhr
Hallo DerKleba!

Versuch es einmal so:
01.
@echo off & setlocal 
02.
for %%i in (Datei1.txt) do set S1=%%~zi 
03.
for %%i in (Datei2.txt) do set S2=%%~zi 
04.
if %S1%==%S2% echo Gleich & goto :eof 
05.
echo Ungleich
Grüße
bastla
Bitte warten ..
Mitglied: DerKleba
23.05.2007 um 16:29 Uhr
Hey bastla!

Danke erstmal für die Antwort. Werd es gleich ausprobieren. Aber kannst du mir auch erklären wie das funktioniert. Ist ja für mich kein richtiges lernen sonst und das Verständnis dafür fehlt.

Vielen Dank nochmal

DerKleba
Bitte warten ..
Mitglied: Biber
23.05.2007 um 16:42 Uhr
Moin DuKleba,

das Erklären von bastla will und kann ich nicht vorwegnehmen, aber:
Zum Verständnis der Auflösungsmöglichkeiten von Datei-Informationen hätte ich eine sehr schöne Site-Empfehlung:

Auf wikibooks.org Batch-Programmierung Beispiele ganz unten der letzte Topic: "Dateiinformationen anzeigen"
Dieses Batch-Skript zeigt Informationen über die Datei, die als Parameter übergeben wird, an. (so ist das Starten des Skript per Drag&Drop möglich)...



Ist für das Verständnis der Mimik jedenfalls meine Empfehlung.

Wenn Du dann bastlas Schnipsel verstanden hast, wäre eine etwas sportlichere Variante als Batch folgender Oneliner:
01.
::-----snipp CompSize.bat --- MfG Biber 2007 
02.
@for %%i in (%1) do @for %%j in (%2) do @for %%x in (LSS EQU GTR) do @cmd /c if %%~zi %%x %%~zj @echo %%i [%%~zi]  %%x %%j [%%~zj] 
03.
::-----snapp CompSize.bat --- MfG Biber 2007
(nur eine Zeile zwischen "snipp" und "snapp"!)

Output beim Aufruf am CMD-Prompt z.B:
01.
(=16:35:07  D:\temp=) 
02.
>e:\administrator\CompSize.bat d:\temp\modules.txt "y:\Eigene Dateien\*.bat" 
03.
d:\temp\modules.txt [4560]  GTR y:\Eigene Dateien\aali.bat [305] 
04.
d:\temp\modules.txt [4560]  GTR y:\Eigene Dateien\xlstest.bat [728]
Gruss
Biber
Bitte warten ..
Mitglied: bastla
23.05.2007 um 16:48 Uhr
Hallo DerKleba!

Freut mich, dass Du etwas lernen willst.

Am Besten fängst Du bei der Hilfe zu "for" an:
01.
for /?
Dort wird auch die Schreibweise %%~zi erklärt.

Das zweite Prozentzeichen ist übrigens dann erforderlich, wenn Du die Variable %i innerhalb einer Batch-Datei verwendest - direkt an der Befehlszeile brauchst Du nur ein Prozentzeichen.

Und vielleicht auch noch zu:
01.
echo Gleich & goto :eof
Mit "&" kannst Du Befehle verknüpfen. Wenn Du den zweiten Befehl vom Ergebnis des ersten abhängig machen willst, kannst Du "&&" für "erster Befehl ohne Fehler beendet" sowie "||" für "Fehler beim ersten Befehl aufgetreten" verwenden.

"goto :eof" beendet eine Batchdatei oder ein Batch-Unterprogramm.

@Biber: Nur keine unnötige Zurückhaltung beim "Vorwegnehmen" ...

Grüße
bastla
Bitte warten ..
Mitglied: DerKleba
23.05.2007 um 16:54 Uhr
Hey Biber, hey bastla

danke euch beiden für die Tipps. Gibt es vllt. speziell eine Auflistung für Parameter und/oder Variablen in der ich nachlesen kann was genau was bedeutet. Wie z.B. das "%%i" oder was du auch schon erwähntest das ":eof".

Danke nochmal!
Bitte warten ..
Mitglied: Biber
23.05.2007 um 19:08 Uhr
Moin DuKleba,
Gibt es vllt. speziell eine Auflistung für Parameter und/oder Variablen
in der ich nachlesen kann was genau was bedeutet.
An Deinem Rechner "Start"->"Hilfe und Support": suche "Kommandozeilenreferenz"
Oder am CMD-Prompt: Help
Wie z.B. das "%%i" oder was du auch schon erwähntest das ":eof".
Wie bastla schon geschrieben hat: For /? (und goto /?).
Danke nochmal!
Jederzeit gern wieder.

Gruss
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

Frage von hannsgmaulwurf zum Thema LAN, WAN, Wireless ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...