Mit Batch ein bestimmtes Bild suchen
Hay, ich hoffe ihr könnt mir weiterhelfen...
Folgendes:
Ich habe mehrere Ordner in denen verschiedene Dateien liegen, meistens .png Bilder.
Jetzt brauche ich einen passenden Befehl der ein Bild raussucht, das im Dateinamen "icon" stehen hat, eine Auflösung von 192x192 hat und im .PNG Format ist.
Wenn es mehrere Bilder gibt auf die, diese Angaben zutreffen, soll die Batch einfach irgendeine nehmen, oder einfach die mit der größten Dateigröße... ist eigentlich egal ^^. Anschließend soll diese eine Datei in das Verzeichnis kopiert werden, in dem die Batch liegt.
Ich weiß, scheint eine komplizierte Angelegenheit zu sein, aber ich denke, dass es gehn wird
PS: Ich bin noch Änfanger =)
Folgendes:
Ich habe mehrere Ordner in denen verschiedene Dateien liegen, meistens .png Bilder.
Jetzt brauche ich einen passenden Befehl der ein Bild raussucht, das im Dateinamen "icon" stehen hat, eine Auflösung von 192x192 hat und im .PNG Format ist.
Wenn es mehrere Bilder gibt auf die, diese Angaben zutreffen, soll die Batch einfach irgendeine nehmen, oder einfach die mit der größten Dateigröße... ist eigentlich egal ^^. Anschließend soll diese eine Datei in das Verzeichnis kopiert werden, in dem die Batch liegt.
Ich weiß, scheint eine komplizierte Angelegenheit zu sein, aber ich denke, dass es gehn wird
PS: Ich bin noch Änfanger =)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 294119
Url: https://administrator.de/contentid/294119
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Moin,
teste mal folgendes:
Du musst das Icon des Verzeichnisses, aus dem Du die PNG-Datei herauskopieren willst, mit der Maus auf das Icon der Batchdatei ziehen und dort fallen lassen (Drag&Drop).
Das Script kopiert die erste Datei, auf die alle Kriterien zutreffen.
Gruß
Friemler
teste mal folgendes:
@echo off & setlocal
set "FileNameMask=*icon*"
set "FileType=png"
set "ImgDims=192 x 192"
set "SrcDir=%~1"
set "DstDir=%~dp0"
set "VBScript=%TEMP%\GetImgDimensions.vbs"
> "%VBScript%" echo.Set objFSO = CreateObject("Scripting.FileSystemObject")
>>"%VBScript%" echo.Set objShell = CreateObject("Shell.Application")
>>"%VBScript%" echo.
>>"%VBScript%" echo.strFileFullName = objFSO.GetAbsolutePathName(WScript.Arguments(0))
>>"%VBScript%" echo.strFileFolder = objFSO.GetParentFolderName(strFileFullName)
>>"%VBScript%" echo.strFileName = objFSO.GetFileName(strFileFullName)
>>"%VBScript%" echo.
>>"%VBScript%" echo.Set objFolderItem = objShell.Namespace(strFileFolder).ParseName(strFileName)
>>"%VBScript%" echo.strDimensions = objFolderItem.ExtendedProperty("Dimensions")
>>"%VBScript%" echo.strFileDimensions = Mid(strDimensions, 2, Len(strDimensions) - 2)
>>"%VBScript%" echo.
>>"%VBScript%" echo.WScript.Echo strFileDimensions
for %%a in ("%SrcDir%\%FileNameMask%.%FileType%") do (
for /f "delims=" %%b in ('cscript /nologo "%VBScript%" "%%~a"') do (
if "%%b" equ "%ImgDims%" (
copy "%%~a" "%DstDir%%%~nxa" > NUL
goto :Done
)
)
)
:Done
del "%VBScript%"
Du musst das Icon des Verzeichnisses, aus dem Du die PNG-Datei herauskopieren willst, mit der Maus auf das Icon der Batchdatei ziehen und dort fallen lassen (Drag&Drop).
Das Script kopiert die erste Datei, auf die alle Kriterien zutreffen.
Gruß
Friemler
Nein, dafür wird der VBScript-Scripthost von Windows verwendet. Der ist auf jedem Windows-System vorhanden. In Firmen wird er jedoch aus Sicherheitsgründen vom Admin manchmal deaktiviert.
Gruß
Friemler