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

Batch dateigröße auslesen und verarbeiten

Frage Entwicklung Batch & Shell

Mitglied: cewiethemaster

cewiethemaster (Level 2) - Jetzt verbinden

23.08.2011, aktualisiert 18.10.2012, 7894 Aufrufe, 6 Kommentare

Hi

ich bins mal wieder mit einer neuen Frage.

Ich habe ein Batch.Script, das folgendes tut (oder tun soll):

1.) Es sucht die vorher angegebene Datei
1.) speichert die Datei-Größe ab
2.) sortiert die Dateigröße und gibt eine formatierte Zahl mit Kürzel aus
2.a.) Bei größer als ein 1 MB wird sie in MB angezeigt.
2.b.) Bei kleiner als 1 MB wird sie in kb angezeigt.
3.) Testet, ob die Datei kleiner ist, als 5 MB
3.a.) Wenn kleiner, als 5 MB, dann läuft es normal weiter
3.b.) Wenn größer als 5 MB, dann wird sich beschwert.

Derzeit sieht es so aus:

01.
set datei="[Datei-Pfad und Name]" 
02.
 
03.
for /f "tokens=1-3" %%i in ('dir %datei% /-C /S ^|find %datei% ^|find "Bytes"') do set dateigrösse=%%j 
04.
if %dateigrösse% GEQ 1000000 goto :MB 
05.
 
06.
:kB 
07.
set /A %dateigrösse%=(%dateigrösse% / 1000) 
08.
set unit=kB 
09.
goto :Ende 
10.
 
11.
:MB 
12.
set /A mb=(%dateigrösse% / 1000000) 
13.
set /A kb=(%dateigrösse% - %mb% * 1000000)/1000 
14.
set %dateigrösse%=%mb%,%kb:~0,2% 
15.
set unit=MB 
16.
 
17.
:Ende 
18.
if %dateigrösse% GEQ 5000000 goto big 
19.
goto small 
20.
 
21.
:big 
22.
echo Die Datei ist zu groß. 
23.
echo Sie darf nur maximal 5 MB groß sein. 
24.
pause 
25.
goto :EOF 
26.
 
27.
:small 
28.
echo Die Datei wurd akzeptiert. 
29.
pause
Anscheinend wird die ausgelesene Zahl nicht abgespeichert, oder sie wurde erst gar nicht korrekt ausgelesen.

Und da das ganze Programm auf dieser einsamen Zahl aufbaut, gehts natürlich nicht.

Danke & LG
Mitglied: 60730
23.08.2011 um 20:48 Uhr
moin,

zwei Tipps:

  • Lese dir die Formatierungshilfe nochmal durch und tausche deine [] gegen <> aus.
  • Nimm dir entweder eine Dosbox und For/? oder Friemlers Tut zur For Schleife vor.

for %a in (datei.suffix) do echo %~za

Gruß
Bitte warten ..
Mitglied: bastla
23.08.2011, aktualisiert 18.10.2012
... oder schau gleich hier vorbei ...

Ansonsten: Welche maximal Dateigröße ist zu erwarten/berücksichtigen? Wenn es nicht in den GB-Bereich geht, sollte T-Mos Hinweis schon genügen ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
23.08.2011, aktualisiert 18.10.2012
Servus Bastla,

Zitat von bastla:
... oder schau gleich hier vorbei ...
oder dort
Grüße
bastla


@ MasterKevin:
Wieder viel zu einfach, oder ist schon wieder Freitag?

Sei mir nicht böse, aber wenn ich um 20:48 deine Frage von 20:37:53 sehe und du da schon nicht mehr angemeldet warst, und ich nachdem Bastla ein fast aktuelles ähnliches Thema aus dem Ärmel geschüttelt hat, und ich dann
27 Fragen
2 Anleitungen
23 Kommentare
finde, vermute ich, nur einer von den bisher 3 Beteiligten hat die Suchmaschine nicht angeworfen.

Und ich Vollochse werf noch mein feuchtes Brötchen auf den Schultern an...


Gruß
Bitte warten ..
Mitglied: Skyemugen
23.08.2011 um 22:03 Uhr
Aloha ihr zwei - ok und der Freitags-TE am Dienstag ^_^

sagt mal, fragt ihr euch auch die ganze Zeit, wie man bei dieser dir-Ausgabe die Lego-Bausteine wieder zusammensetzt, sodass find dann auch %datei% finden kann? ... Glaube ich lasse mal den Sohn von meinem Arbeitskollegen ran, der kennt sich mit Lego aus.

Mal ernsthaft, hat der TE die batch überhaupt mal getestet? Also wenn %datei% tatsächlich den Pfad plus Dateinamen enthält, dann hat dort jemand noch nie Tetris gespielt oder er hat bereits einige Zeilen vollständig bekommen und somit neutralisiert

Anscheinend wird die ausgelesene Zahl nicht abgespeichert, oder sie wurde erst gar nicht korrekt ausgelesen.
Ausgelesen ist ein gutes Stichwort, schonmal die Fehlermeldung gelesen, die dir die Dosenbüchse liefert?

greetz André

@T-Mo: O:\chsen\test.cmd?
Bitte warten ..
Mitglied: bastla
23.08.2011 um 22:54 Uhr
Hallo Skye!
Mal ernsthaft, hat der TE die batch überhaupt mal getestet?
Spätestens beim Blick auf
|find "Bytes"
ist Deine Frage als "rhetorisch" enttarnt ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
24.08.2011 um 07:41 Uhr
Aloha bastla,

aber dieses Finden passt doch exakt ins Lego-Konzept cmd&conquerlego

greetz André

P.S.: rhetorische Fragen am Abend steigern das Schlafbedürfnis
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit batch zeilen auslesen (2)

Frage von keksegriller zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (3)

Frage von tralveller zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(2)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...

Internet Domänen
Nameserver ein Geist? (9)

Frage von zelamedia zum Thema Internet Domänen ...