Как скопировать файлы только с 1 расширением и не дублировать их в командной строке
227
user935892
Мне нужно только копировать, .jpgа не .jpg.jpgиз определенной папки.
Когда я делаю, copy c:\data\*.jpg D:\backup\оба .jpgи .jpg.jpgименованные файлы копируются, и я не уверен, как исключить двойное расширение именованных файлов из операции копирования.
Примечание. Мне не разрешается переименовывать или удалять эти .jpg.jpgфайлы.
Вместо использования сложных продуктов синхронизации может быть проще скопировать все файлы `.jpg`, а затем удалить файлы` .jpg.jpg`.
harrymc 5 лет назад
1
2 ответа на вопрос
1
Pimp Juice IT
Вы можете использовать цикл for для итерации файлов в каталоге и использовать подстановки переменных, чтобы проверить, что каждая повторяемая « часть имени файла только без собственного расширения » не содержит другого расширения ( .jpg). Файлы, которые не содержат дополнительного расширения в своем имени файла, будут скопированы с помощью команды xcopy с использованием условной логики if соответственно.
Пакетный скрипт
@ECHO ON SET "srcPath=c:\data" SET "copyPath=D:\backup" for %%a in ("%srcPath%\*.jpg") do ( for %%b in ("%%~dpna") do if [%%~xb]==[] XCOPY /F /Y "%%~a" "%copyPath%\" ) PAUSE EXIT