Batch-Skript zum Ändern der Größe von JPEGs im Musikordner auf 350 x 350 und Löschen unerwünschter Dateien

Batch-Skript zum Ändern der Größe von JPEGs im Musikordner auf 350 x 350 und Löschen unerwünschter Dateien

Ich verwende derzeit ein Skript, um Musikordner beispielsweise Taylor Swift - 1989in einen neuen Ordner Taylor Swiftmit einem Unterordner umzubenennen 1989, in den alle Dateien verschoben wurden.

Ich habe auch eine Umbenennungszeile hinzugefügt, um die .jpgumzubenennende Datei zu ändern Folder, was wunderbar funktioniert.

Ich möchte wissen, ob es möglich ist, die Größe dieser .jpgDatei auf eine kleinere Größe von 350 x 350 zu ändern/zu skalieren, anstatt dies über das alte Bildbearbeitungsprogramm von Microsoft Office 2010 zu tun.

Schließlich kann ich nicht herausfinden, wie ich unerwünschte Dateien löschen kann. Diese sind .log, .txt,.info

Wenn ich das alles im selben Batch-Skript bekommen könnte, wäre das großartig.

Das ist, was ich derzeit verwende:

@echo off & cd /d "%~dp0"

for /f delims^= %%i in =;(' dir /a:-a /b "* - *"
    ');= do for /f usebackq^tokens^=1*delims^=-^" %%G in =;(`
         set /p "'=%%~nxi"^<nul `);= do call %:^) "%%~G" "%%~H" "%%~dpnxi"

for /r /d %%i in (*)do if exist "%%~fi\*.jpg" for /f tokens^=* %%I in (
'%__APPDIR__%where.exe "%%~i:*.jpg"')do ren "%%~fI" "Folder.jpg"

%:^)
if not "%~1" == "" =;(
     set "_dir=%~1" & set "_sub=%~2"
     call rename "%~3" "%%_sub:~1%%"
     call mkdir "%cd%\%%_dir:~0,-1%%"
     call move "%%_sub:~1%%" "%%_dir:~0,-1%%" 
     );= & exit /b 

Antwort1

Bei mir funktioniert das, ich hoffe, es ist so wie Sie es beabsichtigt haben. Ich habe den Batch-Code mit Kommentaren gefüllt, um zu erklären, was jeder Befehl (oder die meisten davon) macht. Testen Sie dies nur an einer Kopie, um zu sehen, ob es wie erwartet funktioniert. Sie müssen Image Magick installiert haben, damit die Option „Größe ändern“ und „Umbenennen in Folder.jpg“ funktioniert.

@echo off

:: set here the rootfolder where the music folders are:
set RootFolder=%userprofile%\desktop\music

for /f "delims=" %%a in ('dir /ad /b "%RootFolder%\*-*"') do for /f "tokens=1* delims=-" %%b in ("%%~a") do (
                                                                                                         set "OriginalName=%%~a"
                                                                                                         set "FolderPart1=%%~b"
                                                                                                         set "FolderPart2=%%~c"
                                                                                                         call :Edit "%%~b" "%%~c"
                                                                                                        )
echo This is the end....
exit


:Edit
:: checks and removes if there are white spaces in front and back of new folder names:
if "%FolderPart1:~-1%"==" " (set "FolderPart1=%FolderPart1:~0,-1%" & goto :Edit)
if "%FolderPart2:~0,1%"==" " (set "FolderPart2=%FolderPart2:~1%" & goto :Edit)

:: deletes log txt and info files:
del /q "%RootFolder%\%OriginalName%\*.log"
del /q "%RootFolder%\%OriginalName%\*.txt"
del /q "%RootFolder%\%OriginalName%\*.info"

:: uses image magick to create a resized copy named Folder.jpg of a jpg file inside the original folder: 
magick "%RootFolder%\%OriginalName%\*.jpg" -resize 350x350 "%RootFolder%\%OriginalName%\Folder.jpg"

:: deletes all jpg files except Folder.jpg inside the original folder:
for /f "delims=" %%a in ('dir /b "%RootFolder%\%OriginalName%\*.jpg" ^|find /i /v "Folder.jpg"') do del /q "%RootFolder%\%OriginalName%\%%~a"

:: Creates a new folder from the part before the hifen "-" in the original folder:
if not exist "%RootFolder%\%FolderPart1%" md "%RootFolder%\%FolderPart1%"

:: moves and renames the original folder to the second part or the original foldername (behind the hifen):
move "%RootFolder%\%OriginalName%" "%RootFolder%\%FolderPart1%\%FolderPart2%"
goto :EOF

verwandte Informationen