Скопируйте файлы с определенным расширением в папку

Я хочу найти все файлы PDF с компьютера и поместить их в папку.

До сих пор у меня это:

mkdir d:\test chcp 65001 d: FOR /f "tokens=*" %%a in ('dir /s /b *.pdf') DO copy "%%a" d:\test\ c: FOR /f "tokens=*" %%a in ('dir /s /b *.pdf') DO copy "%%a" d:\test\ f: FOR /f "tokens=*" %%a in ('dir /s /b *.pdf') DO copy "%%a" d:\test\ 

По какой-то причине он не копирует все. В D: он скопировал 2126 файлов из 2400, а в F: он скопировал 274 из 284.

Любые идеи, почему некоторые файлы PDF не копируются и как я могу это исправить?

Вы можете подсчитать файлы и, таким образом, проверить наличие дубликатов:

 md d:\test 2>nul set /a count=0 set /a dupli=0 for /r "d:\" %%i in (*.pdf) do ( if not exist "d:\test\%%~nxi" ( copy "%%~fi" "d:\test\%%~nxi" set /a count+=1 ) else set /a dupli+=1 ) echo %count% files copied, %dupli% not (duplicate files). 

Поместите целевую папку на другой диск, чтобы избежать копирования самому себе.

Не имея много деталей, я предполагал, что есть дубликаты имен файлов. Копия в дескрипторе не будет запрашивать перезапись и пропустит файл.

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

проведение

 D: 

Просто изменяет диск, но не каталог. Если последним используемым каталогом диска D был D:\Example , там будет команда, в которую вы попадете.

Есть три способа исправить это:

  • казнить

     D: CD \ 

    Перед командой FOR.

  • казнить

     CD /DD:\ 

    Перед командой FOR.

  • Укажите диск и каталог в самой команде FOR:

     FOR /F "tokens=*" %%A in ('DIR /S /BD:\*.pdf') DO COPY "%%A" D:\test\ 
  • Netstat с именем процесса?
  • Более одного «Открыть xxxxx здесь как администратор»
  • Отключение звукового сигнала окна cmd
  • Команда Windows для получения всей информации / свойств файла
  • Как я могу использовать Takeown, чтобы взять на себя все папки на одном диске?
  • Самый простой способ получить щелчок правой кнопкой мыши «Открыть командное окно здесь» с помощью admin priveleges в Windows 7
  • Как получить IP-адрес LAN для переменной в пакетном файле Windows
  • Как запустить скрипт python с cmd.exe и сделать его невидимым
  • Может ли программное обеспечение вызвать огромный ответ ping?
  • Почему я не могу «открыть окно команд здесь» внутри библиотеки?
  • Как я могу перечислить каталоги и их размеры в командной строке?
  • Interesting Posts

    Конвертер пакетных XLS в CSV

    Подписанный вами отпечаток пальца уже используется другим клиентом OAuth2 для Android

    Где hasoop mapreduce framework отправляет мои инструкции System.out.print ()? (стандартный вывод)

    Быстрый доступ к недавно открывшимся файлам в Windows 10?

    Как проверить, что исключение не выбрасывается?

    Как _really_ программно изменить основной и акцентный цвет в Android Lollipop?

    Лучший способ защитить рабочий стол от силовой нагрузки / грязной мощности?

    Нет подключения к Интернету с Cisco VPN

    Сопоставление всех слов, кроме одного

    Android: как отключить элементы списка при создании списка

    В Xcode 7 я все время получаю ошибку «Нет учетных записей при доступе к iTunes-подключению»

    Продолжение с предварительным форматированием после вставки в Microsoft Word

    Определены ли результаты поразрядных операций с целыми знаками?

    Как я могу получить управление + стрелка влево, чтобы вернуться к одному слову в iTerm2?

    Удаленная отладка Tomcat с Eclipse

    Давайте будем гением компьютера.