-1

Получил список цветных фотографий от Hatton1.jpg до Hatton72.jpg каждая фотография имеет идентичный черно-белый снимок с именем Hatton1-2.jpg через Hatton72-2.jpg

Есть ли способ вырезать файлы -2 в отдельный каталог?

3 ответа3

1

Используйте команду move с соответствующими аргументами:

переместить * -2.jpg c:\somefolder

1

Это немного сложно, из-за коротких имен файлов:-

  • Чтобы поддерживать некоторую совместимость со старыми программами, которые могли обрабатывать только короткие имена файлов, Windows предоставляет альтернативное имя 8.3 для каждого более длинного имени файла.
  • Имена 8.3 имеют формат *~N.??? где * - начало имени файла, а N - целое число (там, где есть несколько столкновений) - см. dir /x .
  • К сожалению, поиск *~2.* найдет некоторые из этих коротких имен, а также файлы, которые вы хотите, с *~2.* в длинном имени.

В cmd перейдите в каталог с файлами: вы можете перечислить те, с которыми хотите переместиться:

dir /b | findstr "~2.jpg"

В идеале вы должны иметь возможность использовать:

for /f %f in ('dir /b | findstr "~2.jpg"') do move "%f" NewDirPath

К сожалению, опять же, вы не можете использовать канал во встроенной команде в цикле for , поэтому вам нужно использовать две команды (или три, чтобы удалить временный файл):

dir /b > Files.lst
for /f %f in ('findstr "~2.jpg" Files.txt') do move "%f" NewDirPath
del Files.lst

Это не очень элегантное решение, но вы, вероятно, делаете это только один раз. Если вам нужно сделать это несколько раз, поместите команды в командный файл и убедитесь, что вы удвоили % в переменной цикла:

...
for /f %%f in ('findstr "~2.jpg" Files.txt') do move "%%f" NewDirPath
...
0

Используя PowerShell, вы можете использовать Get-ChildItem вместе с Move-item.

Это будет выглядеть примерно так:

Get-ChildItem -Filter '*-2.jpg' -Recurse | %{Move-Item $_ C:\Target}

Я не тестировал этот код, но он должен быть очень похожим. Использование обычного поиска Windows и перетаскивания файлов также, вероятно, будет работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .