Удалите nef файлы, которые не имеют соответствующего jpg файла в папке - PullRequest
0 голосов
/ 29 января 2019

Я хотел бы написать сценарий, который просматривает папку и удаляет все необработанные файлы (.nef), которые не соответствуют jpg.Например,

Структура папки:

DSC_0001.nef
DSC_0001.jpg
DSC_0002.nef
DSC_0003.nef

Программа удалит DSC_0002.nef и DSC_0003.nef.

Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 29 января 2019

Возможное решение PowerShell:

Get-ChildItem -Path "C:\temp\nef" -Filter "*.nef" | foreach {
    if( -not (Get-Item $_.FullName.Replace('.nef','.jpg') -ErrorAction SilentlyContinue)){
        $_ | Remove-Item -WhatIf
    }
}

Удалите -WhatIf, чтобы фактически удалить файлы.

0 голосов
/ 29 января 2019

Вам нужно будет использовать (для одной папки):

@echo off

cd to\folder
for %%A IN (*.nef) do (
    if not exist %%~nA.jpg (del %%~fA)
)

И для нескольких папок используйте:

@echo off

for /R "full_path_to_parent_folder" %%A IN (*.nef) do (
    if not exist %%~dpnA.jpg (del %%~fA)
)
0 голосов
/ 29 января 2019
FOR /R %%F IN (*.NEF) DO @IF NOT EXIST "%%~dpnF.jpg" DEL "%%F"

Примечание: переключатель /R означает рекурсивный (то есть он будет продолжать выполнять эту команду во всем дереве каталогов из каталога, из которого он запущен).Опустите этот переключатель, если вы не хотите обрабатывать и подкаталоги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...