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

1475
yannick godeau

У меня есть скрипт для перемещения папок из одной локальной учетной записи моему администратору. Но я хочу использовать подстановочные знаки в моем сценарии, например, если имя папки FOLDER, FOLDER1также перемещается в админ.

Я пытаюсь эту команду:

Move /Y C:\Users\Test\Desktop\folder* "C:\Users\admin\Documents\Moved 

Но я получаю ошибку:

Синтаксис имени файла, папки или тома неверен.

1
`` `На цели не определено. Это также не нужно, так как нет встроенных пробелов. Я предпочитаю добавлять предпочесть завершающий` \ `, когда целью является каталог. AFH 6 лет назад 0
Возможные дубликаты [Переместить файл в папку архива в cmd с использованием подстановочных знаков] (https://superuser.com/q/517486/173513) и [Как команда Windows RENAME интерпретирует подстановочные знаки?] (Https://superuser.com / д / 475874/173513) jww 6 лет назад 2
Не дубликат первого, поскольку речь идет о перемещении файлов, а не папок (которые MOVE трактует по-разному). Не дубликат второй, поскольку REN только переименовывает и не может перейти на другой путь (следовательно, пользователь не просил использовать REN). jep 6 лет назад 0

1 ответ на вопрос

1
Pimp Juice IT

Команда перемещения не поддерживает подстановочные знаки, которые вы пытаетесь использовать здесь. Тем не менее, вы можете использовать реж команду с /s /b /adпараметрами в течение / F петле и сделать его рекурсивно пройти через исходную папку для только каталогов, а затем повторять эти папки с ходом командой, чтобы переместить папки в папку назначения.

for /f "tokens=*" %a in ('dir /s /b /ad "C:\source\folder\*"') do move /y "%~a" "C:\Destination\folder\" 

Дополнительные ресурсы

Я попробовал это, и это, казалось, помогло yannick godeau 6 лет назад 0
Разве не проще было бы просто использовать `for / d% a in (" c: \ source \ folder * ") и переместить / y"% a "" C: \ Users \ admin \ Documents \ Moved \ "`? `/ D` указывает` for` сопоставлять имена каталогов вместо файлов. jep 6 лет назад 0
@jep Вы можете быть правы, я знаю, что `for / d` более эффективен, чем` for / f` для итераций, которые я считаю, но мне нужно проверить, чтобы убедиться, что это сработает для того, что запросил OP , Это одна из тех вещей, которые могут иметь несколько решений, которые будут работать там, где одно может быть лучше другого, но я написал это на основе того, что вспомнил мой мыслительный процесс, память и т. Д. Pimp Juice IT 6 лет назад 0

Похожие вопросы