1

Поэтому я просто экспериментировал с командной строкой, и мне было интересно, есть ли способ заставить эту команду работать:

примечание: каталог, куда я перемещаю эти файлы, содержит подкаталоги bmps, gifs и tifs, уже созданные. Ранее я понял, что не было никакого способа создать каталог, используя команду перемещения lol.

move swag.gif, swag.bmp, swag.tif bmps, gifs, tifs

1 ответ1

1

Нет, ты не можешь этого сделать. Синтаксис команды Move не позволяет использовать несколько пунктов назначения, в вашем случае это пункт назначения tifs .

Тем не менее, вы можете достичь желаемого эффекта с помощью команды for

for %E in (gif bmp tif) do (
    for %F in (*.%E) do echo move %F %Es
)

Внешний цикл задает расширение в %E , затем внутренний цикл перебирает все файлы, которые соответствуют шаблону *.%E где это одно из расширений. Текущее имя файла хранится в %F Затем файл перемещается в каталог %E с добавленными s создающими gifs

Примечание: я добавил команду echo чтобы избежать перемещения файлов, вместо этого "команды перемещения" выводятся на экран. Удалить echo чтобы выполнить move .


Другой подход заключается в использовании специального расширения:

for %F in (*.gif *.bmp *.tif) do echo move %F %~xFs

В этом случае %~xF расширяется до расширения файла, но с запуском .: .gif . Таким образом, это решение не может быть использовано сразу. (Я не нашел быстро, как удалить точку, чтобы получить "голое" расширение.)

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