Sie erreichen dies mit zwei Batch-Datei Befehle der FOR-Befehl: „FOR /“
Typ von der Eingabeaufforderung die Befehlssyntax, um zu sehen:
Erster Wechsel in das Verzeichnis Ihrer Bilder enthalten:
C:\> cd /d "D:\Pictures"
D:\Pictures>
Dann in Ihrem „D: \ Pictures“ -Ordner, führen diese beiden Befehle:
for /r %f in (*.tga) do if exist "%~df%~pf%~nf.png" del "%f"
for /r %f in (*.tga) do if exist "%~df%~pf%~nf.jpg" del "%f"
Bitte seien Sie vorsichtig beim Testen von Befehlen wie dieser und vorzugsweise nach einer guten Sicherung! Du wurdest gewarnt.
Aufteilung der Befehle: für (für Befehl)
/r Recurse subdirectories
%f Variable used to represent each matching file
(*.tga) File Spec to search for
do part of for command, following command executed for each match
if exist XXX del XXX
~d between the %f (%~df), returns only the drive (d:)
~p between the %f (%~pf), returns only the path (\path\)
~n between the %f (%~nf), returns only the filename without extension
...then appending .png or .jpg to end of those...
~f returns the full filename, including path
Auch, wenn Sie einen Befehl wie diesen in einer Batch-Datei setzen müssen, müssen Sie die Prozentzeichen auf dem Variablennamen verdoppeln wie:
for /r %%f in (*.tga) do if exist "%%~df%%~pf%%~nf.png" del "%%f"
for /r %%f in (*.tga) do if exist "%%~df%%~pf%%~nf.jpg" del "%%f"
Willkommen bei Stack Overflow. Bitte nehmen Sie die 2-minütige [Tour]. Darüber hinaus öffnen Sie [Hilfe] und lesen Sie mindestens [fragen]. Bearbeite dann deine Frage, um eine [mcve] zur Verfügung zu stellen. Fragen, die nur nach Code fragen, sind zu weit gefasst und werden wahrscheinlich zurückgestellt oder geschlossen (http://stackoverflow.com/help/closed-questions). – JosefZ
Falls Sie nicht mit 'powershell' vertraut sind - Es ist Microsofts Ersatz für' Dos' type 'command prompt'. So können Sie 'Powershell' aus Ihrem Programmmenü ausführen, die unten angegebene Lösung kopieren und einfügen, die Eingabetaste zweimal drücken - und das Skript wird ausgeführt ... – Plirkee