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

Frage zur Größenänderung und fortlaufenden Nummerierung von Bildern

Frage Entwicklung Batch & Shell

Mitglied: JamesDuttels

JamesDuttels (Level 1) - Jetzt verbinden

03.04.2011 um 19:51 Uhr, 3742 Aufrufe, 6 Kommentare

Guten Tag,

wie oben schon beschrieben möchte ich eine Größenänderung bei meinen Bildern durchführen und daraufhin sollen sie fortlaufend nummeriert werden. Dafür habe ich mir die Tools nconvert und any#rename zur Hilfe geholt.

Mit ein paar Beispielen habe ich darauf hin eine Batch entwickelt, welche Bilder aus dem Ordner "new" in zwei verschiedene Größen umwandelt und daraufhin in zwei verschiedene Ordner kopiert, wo sie dann umbenannt werden sollen. Die Batch ließt außerdem zuvor den vorhanden Counter aus.
--> soweit alles ok.

Nun kommt mein Problem die großen Bilder werden fortlaufend mit 00001, 00002 usw. nummeriert. Zur Probe ob das Auslesen des Counters funktioniert, habe ich immer 7 Bilder in den Ordner "new" hereingepackt und sie umgewandelt. Nach zweimal bin ich bei 00014 gelandet - funktioniert.
Als ich jedoch nochmal 7 Bilder umwandeln wollte, kam ich nicht bei 21 sondern bei 00019 raus. Das heisst das Bilder die vorher im Ordner waren überschrieben wurden.

Nach meiner Recherche hat es irgendwas mit dem Octalsystem zu tun. Ich konnte jedoch die Erklärungen zur Beseitigung des Problems nicht umsetzten.

Deshalb: Wie bekomme ich es hin meine Bilder fortlaufend ohne Überschreibungen zu Nummerieren?

Vielen Dank für eure Hilfe.



Hier mein Batchtext:


rem ----------------------------------------------------------------------
:: CONFIG
rem ----------------------------------------------------------------------

:: directory path of NCONVERT
set NCONVERT=..\nconvert.exe

:: name of subdirectory where the images will be created.
:: no slashes, please - mkdir doesn't like it.
set subdir=..\finish

:: parameters for NCONVERT (image size + quality + outputfile)
:: set PARAMS1=-resize 800 600 -q 100 -o "..\%subdir%\800x600_%%.jpg"
set PARAMS1=-resize 400 300 -q 100 -o "%subdir%\%%.jpg"
set PARAMS2=-resize 100 75 -q 100 -o "%subdir%\t_%%.jpg"


:: STOP - thats all to configure

set LINE=-------------------------------------------------------------------------------


rem ----------------------------------------------------------------------
:: before we start: some checks...
rem ----------------------------------------------------------------------

echo %LINE%
echo create pictures 4 web - V1.1
echo %LINE%

if exist %NCONVERT% goto CHECKPARAM
goto ERROR01

:CHECKPARAM
if "%1"=="" goto USAGE

:CHECKINFILE
if exist %1 goto COPY
goto ERROR02


rem ----------------------------------------------------------------------
:: let's go!
rem ----------------------------------------------------------------------

:COPY
echo -- creating directory "%subdir%" ...
mkdir %subdir% >nul
:: copy %1 %subdir%
:: cd %subdir%

echo -- converting with [%PARAMS1%]
%NCONVERT% %PARAMS1% %1

echo -- converting with [%PARAMS2%]
%NCONVERT% %PARAMS2% %1
cd..
mkdir thumbnails
copy "finish\t_*.jpg" "thumbnails"
cd thumbnails
del ..\finish\t_*.jpg


:Counter wird ermittelt
@FOR /f "delims=. " %%i IN ('Dir /B /ON "..\view\*.jpg"') DO set Counter= %%i


:Counter wird erhöht
Set /a nz = %Counter%+1

cd ..
:anyrename wird Kopiert
Copy /y "any#rename.exe" "thumbnails"
Copy /y "any#rename.exe" "finish"


:Quell-Verzeichnis wird angewählt und Nummerierung durchgeführt
cd thumbnails
any#rename *.jpg t_ %nz% .jpg
cd ..\finish
any#rename *.jpg "" %nz% .jpg

cd ..
:Dateien werden auf Ziel kopiert
Copy /y "finish\*.jpg" "view"
mkdir small
Copy /y "thumbnails\*.jpg" "small"




rmdir finish /s /q
rmdir thumbnails /s /q
del new\*.jpg /s /q
del thumbnails\*exe /s /q



echo %0 was terminated.
echo press any key...
pause >nul
echo %LINE%









goto ENDE


rem ----------------------------------------------------------------------
:: errors
rem ----------------------------------------------------------------------

:ERROR01
echo ERROR:
echo The following executable was not found:
echo %NCONVERT%
echo Correct the path please - therefore edit the following file:
echo "%0"
goto USAGE

:ERROR02
echo ERROR: The file "%1" was not found!
goto USAGE

:USAGE

echo.
echo SYNTAX: %0 [imagefile(s)]
echo press any key...
pause >nul
exit 1


rem ----------------------------------------------------------------------
:: the end of all
rem ----------------------------------------------------------------------
Mitglied: dan0ne
03.04.2011 um 20:26 Uhr
Abend,

schau dir mal irfanview an.

Gruss
Bitte warten ..
Mitglied: JamesDuttels
03.04.2011 um 20:35 Uhr
Jo, ich weis das irfanview das kann aber ich will programmunabhängig sein. Bei der Batch drück ich nur auf start und alles ist vorprogrammiert.
Bitte warten ..
Mitglied: bastla
03.04.2011 um 20:37 Uhr
Hallo JamesDuttels und willkommen im Forum!

Wenn die Nummer immer 6 Stellen hat, versuch es mit diesen beiden Zeilen:
01.
set /a nz=1%Counter%+1 
02.
set /a nz-=1000000
- gleichwertig wäre natürlich:
set /a nz=1%Counter%+1-1000000
oder gleich
set /a nz=1%Counter%-999999
Grüße
bastla

P.S.: So richtig "programmunabhängig" ist es aber auch nicht, wenn Du "nconvert" und "any#rename" benötigst ...

[Edit] Schreibweise der Zeile 2 etwas verkürzt [/Edit]
Bitte warten ..
Mitglied: JamesDuttels
03.04.2011 um 20:56 Uhr
Hallo bastla,

danke für die schnelle Antwort ... funktionieren aber alle 3 Varianten nicht sorry

Fehler: thirt argument musst be a number
Bitte warten ..
Mitglied: bastla
03.04.2011 um 21:04 Uhr
Hallo JamesDuttels!

Bei näherer Betrachtung überrascht das dann doch weniger - in Deinen "set"-Anweisungen gibt es unnötige Leerzeichen; ändere daher die Zeile
@FOR /f "delims=. " %%i IN ('Dir /B /ON "..\view\*.jpg"') DO set Counter= %%i
auf
@FOR /f "delims=. " %%i IN ('Dir /B /ON "..\view\*.jpg"') DO set Counter=%%i
damit nicht am Beginn des Variableninhaltes ein Leerzeichen steht (am Ende wär's auch unnötig, aber in diesem Fall egal) ...

Grüße
bastla
Bitte warten ..
Mitglied: JamesDuttels
03.04.2011 um 21:09 Uhr
Wahnsinn! Ich danke dir, das wars!

Funktioniert alles super, danke nochmal für die schnelle Antwort

Schönen "Restsonntag" noch
JamesDuttels
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Fortlaufende nummerierung mit Jahr in PDF Formulare
Frage von OliverK79Entwicklung9 Kommentare

Hallo Liebe Foren Gemeinde, ich habe ein Problem mit der Formular Erstellung bzw. mit dem Hochzählen von Nummern da ...

Windows Netzwerk
Frage zu den Netzwerkfreigaben mit Bild
gelöst Frage von M.MarzWindows Netzwerk8 Kommentare

Hallo zusammen, ich würde gerne auf einem Windows Server einen Ordner Freigeben der mehrere Unterordner beinhaltet. Von diesen Unterordnern ...

VB for Applications
Aus Excel speichern als PDF mit Nummerierung
gelöst Frage von TIM589VB for Applications3 Kommentare

Ich habe ein kleines Programm geschrieben, bei dem man mit einer Excel Vorlage eine Rechnung schreiben kann. Im Fenster, ...

Ausbildung
Nummerierung jeder Zeile in einer Textdatei
gelöst Frage von MihailAusbildung4 Kommentare

Guten Tag sehr geehrten Admins, Ich versuche seit einer Weile, als absoluter Anfänger eine batch-Datei zu finden die, wie ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 StundeWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 9 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 10 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

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

Tipp von kgborn vor 2 TagenWindows 1012 Kommentare

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

Heiß diskutierte Inhalte
Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server22 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen19 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

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

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

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...