У меня есть скрипт для перемещения папок из одной локальной учетной записи моему администратору. Но я хочу использовать подстановочные знаки в моем сценарии, например , если имя папки FOLDER
, FOLDER1
также перемещается в админ.
Я пытаюсь эту команду:
Move /Y C:\Users\Test\Desktop\folder* "C:\Users\admin\Documents\Moved
Но я получаю ошибку:
Синтаксис имени файла, имени папки или тома неверен.
"
определена. Это также не нужно, так как нет встроенных пробелов. Я предпочитаю добавлять предпочитают завершать,\
когда целью является каталог.Ответы:
Команда перемещения не поддерживает подстановочные знаки, которые вы пытаетесь использовать здесь. Тем не менее, вы можете использовать реж команду с
/s /b /ad
параметрами в течение / F петле и сделать его рекурсивно пройти через исходную папку для только каталогов , а затем повторять эти папки с ходом командой , чтобы переместить папки в папку назначения.Дополнительные ресурсы
источник
for /d %a in ("c:\source\folder*") do move /y "%a" "C:\Users\admin\Documents\Moved\"
?/d
Говорит ,for
чтобы соответствовать против имен каталогов , а не файлов.for /d
это более эффективно, чемfor /f
для итераций, в которые я верю, но мне нужно проверить, чтобы точно знать, будет ли это работать для того, что запросил OP. Это одна из тех вещей, которые могут иметь несколько решений, которые будут работать там, где одно может быть лучше другого, но я написал это на основе того, что вспомнил мой мыслительный процесс, память и т. Д.