Я пытаюсь переместить все файлы (возможно, несколько разных типов файлов) из одного корневого каталога и всех вложенных папок в корне. В каждой ветви дерева может быть несколько разных уровней подкаталогов, и мне нужно захватить каждый файл на каждом уровне, не зная заранее, сколько уровней может быть. Честно говоря, я еще ничего не пробовал. В прошлом я мог бы написать что-то короткое и приятное на Python, но я хотел бы, чтобы это происходило с помощью сценария входа / выхода из системы в PowerShell, а не делал Python обязательным условием. Я знаю намного меньше, чем я должен о PS; если кто-то может подсказать мне общее направление решения Powershell или чего-то минимально инвазивного, я с радостью проведу любое исследование, необходимое для его осуществления. Мне просто нужно подтолкнуть в правильном направлении. Любая помощь очень ценится; Я знаю, что это очень необычная просьба.

2 ответа2

0

Для этого требуется PowerShell 3:

Get-ChildItem -Recurse -Path C:\SourceFolder -File | 
    % { Move-Item -WhatIf $_.FullName C:\DestFolder }

Обратите внимание на -WhatIf . Это предотвратит фактическое выполнение команды перемещения. Вместо этого он покажет в консоли, что он будет делать. Как только вы убедитесь, что он будет делать то, что вы хотите, вы можете удалить -WhatIf и выполнить его по-настоящему.

0

Просто сделайте пакетный скрипт (если вы хотите сохранить структуру подкаталогов)

Синтаксис:

move "C:\path to\source folder\" "C:\path to\destination\"
pause

Я включил паузу, чтобы вы могли проверить, был ли он перемещен или нет, удалите его, если хотите, чтобы окно автоматически закрывалось.

Пример (я запустил его в командной строке):

C:\Users\Dev>move "C:\Users\Dev\Desktop\New folder\lol" "C:\Users\Dev\Desktop\Ne
w folder\lel"
        1 dir(s) moved.

Если вы не знакомы с пакетными файлами, просто введите блокнот и сохраните как что-нибудь.

Это намного проще, чем powershell, и вы можете поместить скрипт в каталог автозагрузки при каждом входе в систему.

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