Перенесіть всі файли з декількох підпапок рівня до підпапки другого рівня


0

Я шукаю для команди Windows або скрипт партії, щоб допомогти мені, я Провів 3h читання / намагається знайти рішення я знаю його там, але моя відсутність сценаріїв / програмування не допомагає, сподіваючись, що деякі з них можуть допомогти мені.

У мене є набір папок і файлів, які я хотів би довести до підпапки 2-го рівня, яка в цьому прикладі буде підпапкою1 і amp; subfolder1 & amp; підпапка3 тощо

D: папка & gt; subfolder1 & gt; підпапка & gt; підпапка & gt; файли

     >subfolder2>subfolder>files

     >subfolder3>subfolder>files

     >subfolder4>subfolder>subfolder>files

Відповіді:


0

Ваша мета є ризикованою - що станеться, якщо одне ім'я файлу існує в декількох підкаталогах? У цій папці може існувати лише одна версія.

Наступний підказка командного рядка перемістить файли, як ви просили, а дублікати імен перезаписуть вже існуючі файли з такою назвою:

for /d %A in ("d:\folder\*") do @(pushd "%A"&(for /r /d %B in (*) do @move /y "%B\*" "%A" 2>nul)&popd)

Або як пакетний сценарій:

@echo off
for /d %A in ("d:\folder\*") do (
  pushd "%A"
  for /r /d %B in (*) do move /y "%B\*" "%A" 2>nul
  popd
)

Ідеальний! вона працює так само, як і передбачалося. файли є унікальними, тому перезапис не відбудеться. Велике спасибі. Я хочу суперкористувача / stackexchange побудував його "купити каву" функція, щоб показати вдячність з більш ніж просто слова. Знову дякую.
user2827759
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.