Командний рядок: Скопіюйте файли, перелічені за допомогою DIR / S, до іншої папки


0

Я намагаюся перерахувати всі файли, які підтримуються макросами в моєму D: і скопіювати їх до "newfolder", створеного на тому ж диску, це те, що я спробував і повідомлення про помилку:

D:\>copy dir \*.xlsm/S newfolder\
The system cannot find the file specified.

Який правильний синтаксис я повинен використовувати?


The copy Вказана команда намагається скопіювати a dir файл в \*.xlsm/S, жодна з яких фактично не існує. Спробуйте використати щось подібне (видаліть echo коли ви впевнені, що він працює добре: for /r "D:\" %G in (*.xlsm) do echo copy "%~fG" "D:\newfolder\"
and31415

це виглядає складніше, ніж я очікував
Ruben

Ця команда працюватиме: copy *.xlsm newfolder Проте copy команда не надає /s параметр для перегляду підпапок. Якщо ви повинні були розібрати dir виходу, що вимагало б подібного for команду. Як альтернативу можна використовувати xcopy, як показав Тірамісу.
and31415

Відповіді:


0

зазвичай це буде:

D: & gt; xcopy * .xlsm newfolder / s

АЛЕ ви не можете копіювати з набором опцій / с, якщо цільова частина знаходиться в цьому шляху & gt; Велоспорт!

тому цільовий каталог повинен бути десь ще, не за межами батьківського реєстру!

приклад, який буде працювати:

xcopy d: макроси * .xlsm d: нова папка / с

або:

D: & gt; xcopy макроси * .xlsm нова папка / с


Це також копіює структуру дерева каталогів. Щоб зробити плоску копію я нарешті використав D:\>for /r "d:\rubenbk" %G in ("*.xlsm") do copy %G "d:\rubentest" які працювали добре.
Ruben

Остерігайтеся @Ruben, це може призвести до проблем, якщо у вас є дублікати файлів.
SΛLVΘ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.