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
Kommentar vom Moderator Biber am 02.11.2009 um 18:55:17 Uhr
Die Dateigrössen aus Verschiedenen Verzeichnissen auslesen
...um nicht zu sagen "Die Dateigrössen aus kürzlich Verschiedenen Verzeichnissen auslesen"...
GELÖST

Die Dateigrössen aus Verschiedenen Verzeichnissen auslesen

Frage Entwicklung Batch & Shell

Mitglied: UZehnder

UZehnder (Level 1) - Jetzt verbinden

02.11.2009, aktualisiert 18:55 Uhr, 3807 Aufrufe, 7 Kommentare

Mit ImageMagick komprimiere ich alle z.b *jpg Grafiken/Bilder in einem Verzeichnis
und verteile diese auf verschiedene Verzeichnisse.
(je nach dem Komprimierungslevel mit gleichem Namen)

Jetzt hätte ich gerne eine Batch-Datei gebastelt, welche mir den Dateinamen und
die entsprechenen Dateigrössen in Bytes ausliest und in die "augabe.txt" schreibt.
Trotz vielem Ueben schaffe ich es aber nicht, die Variabeln aus dem Unteraufruf
"call :im" zurückzugeben...

01.
@echo off 
02.
set "Filter=org\*.jpg" 
03.
set "outTxT=ausgabe.txt" 
04.
IF exist %outTxT% del %outTxT% 
05.
 
06.
FOR /R %%f in (%Filter%) do set name=%%~nf%%~xf& call :im& echo "%%~nf%%~xf:%%~zf:%bgA%:%bgB%:%bgC%">>%outTxT% 
07.
goto :EOF 
08.
 
09.
:im 
10.
set "Filter2=im70\%name%" 
11.
FOR %%g in (%Filter2%) do set bgA=%%~zg 
12.
set "Filter3=im60\%name%" 
13.
FOR %%h in (%Filter3%) do set bgB=%%~zh 
14.
set "Filter4=im50\%name%" 
15.
FOR %%i in (%Filter4%) do set bgC=%%~zi 
16.
goto :EOF 
17.
 
18.
PAUSE 
19.
goto :EOF

Das Ergebniss sollte dann so Ausehen:
"DateiName.jpg:30553:123456:56733:78000"
Mitglied: bastla
02.11.2009 um 13:41 Uhr
Hallo UZehnder und willkommen im Forum!

Ungetestet etwa so:
01.
@echo off & setlocal 
02.
set "Filter=org\*.jpg" 
03.
set "outTxT=ausgabe.txt" 
04.
If exist "%outTxT%" del "%outTxT%" 
05.
 
06.
FOR /R %%f in (%Filter%) do set "name=%%~nxf" & call :im %%~zf 
07.
goto :eof 
08.
 
09.
:im 
10.
set "Filter2=im70\%name%" 
11.
for %%g in (%Filter2%) do set bgA=%%~zg 
12.
set "Filter3=im60\%name%" 
13.
for %%h in (%Filter3%) do set bgB=%%~zh 
14.
set "Filter4=im50\%name%" 
15.
for %%i in (%Filter4%) do set bgC=%%~zi 
16.
echo "%name%:%1:%bgA%:%bgB%:%bgC%">>%outTxT% 
17.
goto :eof
Die jeweiligen "set"-Zeilen für "Filter2", "Filter3" und "Filter4" kannst Du eigentlich einsparen, wenn Du die Variablen nur einmalig in der folgenden Zeile benötigst - dann würde genügen:
for %%g in (im70\%name%) do set bgA=%%~zg
Es spräche auch nichts dagegen, immer die selbe Laufvariable anstelle von "%%g", "%%h" und "%%i" zu verwenden ...

Grüße
bastla
Bitte warten ..
Mitglied: 5t8d1e
02.11.2009 um 13:45 Uhr
Hallo,

meine Empfehlung nimm Powershell:

gci -Recurse * | ft name,Length | Out-File Aus.txt
Bitte warten ..
Mitglied: UZehnder
02.11.2009 um 14:18 Uhr
WoW

Herzlichen Dank für die superschnelle Antwort
das funkt prima,

habs jetzt auf so umgestellt:

@echo off & setlocal
set "Filter=org\*.jpg"
set "outTxT=ausgabe.js"
If exist "%outTxT%" del "%outTxT%"

echo var bildervergleich = [>%outTxT%
FOR /R %%f in (%Filter%) do set "name=%%~nxf"& call :im %%~zf
rem goto :eof
echo "last"];bildervergleich.pop();>>%outTxT%
goto :EOF

:im
for %%f in (im70\%name%) do set bgA=%%~zf
for %%f in (im60\%name%) do set bgB=%%~zf
for %%f in (im50\%name%) do set bgC=%%~zf
echo "%name%:%1:%bgA%:%bgB%:%bgC%",>>%outTxT%
goto :eof

Ausgabe:
var bilder = [
"8020.jpg:308:296:296:296",
"8070.jpg:313:297:294:294",
"r-1030.jpg:312:295:293:293",
"r-2020.jpg:317:296:296:297",
"r-3010.jpg:308:293:295:293",
"r-9000.jpg:315:294:293:294",
"r-9050.jpg:302:293:291:291",
"r-s50.jpg:313:294:294:292",
"silberchrom.jpg:389:349:340:334",
"basic.jpg:135614:30863:26879:24375",
"DSC00024.JPG:326704:133152:95831:81653",
"DSC00033.JPG:243627:131398:105891:96904",
"last"];bildervergleich.pop();

Frage:
gäbe es eine Möglichkeit, das letzte Komma wegzulassen, damit ich mir
das
echo "last"];bildervergleich.pop();>>%outTxT%
sparen könnte??

Gruss
Ulrich
Bitte warten ..
Mitglied: UZehnder
02.11.2009 um 14:22 Uhr
Danke für den Tip

die Idee dahinter von mir ist,
das ganze auf normalen Windows PC's zum laufen zu bringen,
möglichst ohne zusätzliche Programme.

gruss
Ulrich
Bitte warten ..
Mitglied: bastla
02.11.2009 um 16:19 Uhr
Hallo UZehnder!
gäbe es eine Möglichkeit, das letzte Komma wegzulassen
Soferne Du das allerletzte Komma meinst, etwa so (weiterhin ungetestet ):
01.
@echo off & setlocal 
02.
set "Filter=org\*.jpg" 
03.
set "outTxT=ausgabe.js" 
04.
If exist "%outTxT%" del "%outTxT%" 
05.
 
06.
set "Zeile=" 
07.
echo var bildervergleich = [>%outTxT% 
08.
FOR /R %%f in (%Filter%) do set "name=%%~nxf"& call :im %%~zf 
09.
if defined Zeile echo "%Zeile%">>%outTxT% 
10.
::echo "last"];bildervergleich.pop();>>%outTxT% 
11.
goto :EOF 
12.
 
13.
:im 
14.
if defined Zeile echo "%Zeile%",>>%outTxT% 
15.
for %%f in (im70\%name%) do set bgA=%%~zf 
16.
for %%f in (im60\%name%) do set bgB=%%~zf 
17.
for %%f in (im50\%name%) do set bgC=%%~zf 
18.
set "Zeile=%name%:%1:%bgA%:%bgB%:%bgC%" 
19.
goto :eof
Grüße
bastla

P.S.: Falls auch Dir die von mir verwendete Darstellung (des Batches) besser gefallen sollte: Code-Formatierung (lässt sich sogar nachträglich anwenden )
Bitte warten ..
Mitglied: UZehnder
02.11.2009 um 17:48 Uhr
...da staunt der Laie
perfekt , vielen Dank

01.
@echo off & setlocal 
02.
set "Filter=org\*.jpg" 
03.
set "outTxT=ausgabe.js" 
04.
If exist "%outTxT%" del "%outTxT%" 
05.
 
06.
set "Zeile=" 
07.
echo var bildervergleich = [>%outTxT% 
08.
FOR /R %%f in (%Filter%) do set "name=%%~nxf"& call :im %%~zf 
09.
if defined Zeile echo "%Zeile%">>%outTxT% ];>>%outTxT% 
10.
goto :EOF 
11.
 
12.
:im 
13.
if defined Zeile echo "%Zeile%",>>%outTxT% 
14.
for %%f in (im70\%name%) do set bgA=%%~zf 
15.
for %%f in (im60\%name%) do set bgB=%%~zf 
16.
for %%f in (im50\%name%) do set bgC=%%~zf 
17.
set "Zeile=%name%:%1:%bgA%:%bgB%:%bgC%" 
18.
goto :eof
die ausgabe.js :

var bildervergleich = [
"8020.jpg:308:296:296:296",
"8070.jpg:313:297:294:294",
"r-1030.jpg:312:295:293:293",
"r-2020.jpg:317:296:296:297",
"r-3010.jpg:308:293:295:293",
"r-9000.jpg:315:294:293:294",
"r-9050.jpg:302:293:291:291",
"r-s50.jpg:313:294:294:292",
"silberchrom.jpg:389:349:340:334",
"basic.jpg:135614:30863:26879:24375",
"DSC00024.JPG:326704:133152:95831:81653",
"DSC00033.JPG:243627:131398:105891:96904",
"tshirt.jpg:6115:5588:4841:4009" ];

kann ich so direct in die HTML-Seite als Java-Array reinziehn

ist diese Zeile so konform? if defined Zeile echo "%Zeile%">>%outTxT% ];>>%outTxT%
falls nicht defined diese Ausgabe: ];>>%outTxT%

nochmals vielen Dank für die Lösung

Gruss
Ulrich
Bitte warten ..
Mitglied: bastla
02.11.2009 um 17:56 Uhr
Hallo UZehnder!
ist diese Zeile so konform? if defined Zeile echo "%Zeile%">>%outTxT% ];>>%outTxT%
Wenn schließende Klammer und Semikolon ja auf jeden Fall (und auch nicht in eine neue Zeile) geschrieben werden sollen, genügt eigentlich
echo "%Zeile%" ];>>%outTxT%
wobei aber noch zu überlegen wäre, dass im Fall der leeren Variable %Zeile% (an dieser Stelle nur dann möglich, wenn keine einzige Datei gefunden wurde) das Ergebnis vielleicht ohnehin unbrauchbar ist ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateigröße und Änderungsdatum auslesen
Frage von michi-ffmBatch & Shell6 Kommentare

Hallo zusammen, ich habe folgendes Problem, vielleicht kann mir einer ja weiterhelfen. :) Dieses Skript funktioniert schon einmal wunderbar, ...

Mac OS X
Finale Dateigröße ohne Entpacken ermitteln
gelöst Frage von pelzfruchtMac OS X3 Kommentare

Moin, ich hab hier ein 27,1 GB großes *.bz2 Archiv. Das Problem: Wenn ich das Archiv entpacke könnte mich ...

Batch & Shell
In mehrzeiliger Textdatei verschiedene Zeilen auslesen und in Variablen aufsplitten
gelöst Frage von Boory01Batch & Shell6 Kommentare

Hallo Forum, ich möchte per Batch Datenreihen aus einer Textdatei verwerten. Hintergrund: Es sollen IP-Einträge gesetzt werden, die für ...

Microsoft Office
Daten aus 4 verschiedenen Excel Dateien auslesen
Frage von mc12345Microsoft Office4 Kommentare

Hallo, ich habe folgendes Problem. Ich habe eine Hauptdatei und von dieser aus will ich automatisch einen Wert aus ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 2 StundenBatch & Shell1 Kommentar

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 5 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 20 StundenMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 20 StundenSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Linux
OpenSource Groupware
Frage von FA-jkaLinux13 Kommentare

Hallo, ich suche eine Groupware als Alternative zum Exchange. Wesentliche Aufgaben sind die Handhabung von E-Mails (persönliche und gemeinsam ...

Server-Hardware
Braucht ein Server eine Grafikkarte?
gelöst Frage von lcer00Server-Hardware13 Kommentare

Hallo zusammen, habe gerade 3 Stunden gebraucht, um herauszubekommen, dass die Remotemanagement-Console von Intel (RMM4) nur funktioniert, wenn die ...