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

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, 3712 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 ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
LAN, WAN, Wireless
gelöst HP Switches - Frage zu Spanning Tree bzw. Loop Back Protection (12)

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

Hyper-V
Grundsatz Frage Anbindung Hyper V Hosts ans Netzwerk (7)

Frage von Eifeladmin zum Thema Hyper-V ...

Windows Netzwerk
gelöst Frage zu den Netzwerkfreigaben mit Bild (8)

Frage von M.Marz zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...