我只需要复制 .jpg
并不是 .jpg.jpg
从特定文件夹。
当我做的时候 copy c:\data\*.jpg D:\backup\
都 .jpg
和 .jpg.jpg
命名文件被复制,我不知道如何从复制操作中省略双扩展命名文件。
注意: 我不允许重命名或删除它们 .jpg.jpg
档
我只需要复制 .jpg
并不是 .jpg.jpg
从特定文件夹。
当我做的时候 copy c:\data\*.jpg D:\backup\
都 .jpg
和 .jpg.jpg
命名文件被复制,我不知道如何从复制操作中省略双扩展命名文件。
注意: 我不允许重命名或删除它们 .jpg.jpg
档
Answers:
使用powershell而不是命令提示符:
Copy-Item C:\data*.jpg -Destination D:\backup -Exclude "*.jpg.jpg"
这当然假设您有很多名为的文件 data[something].jpg
在C:中,而不是包含图像的目录树。
如果你想要一个递归副本 jpg
在C:\ Data \中没有以。结尾的文件 .jpg.jpg
:
$source = 'C:\data'
$dest = 'D:\backup'
$exclude = @('*.jpg.jpg')
Get-ChildItem $source -Recurse -Exclude $exclude -Filter *.jpg | Copy-Item -Destination {Join-Path $dest $_.FullName.Substring($source.length)}
(可耻地被盗和修改 关于SO的答案 )
你可以使用 对于 循环迭代目录中的文件并使用 变量替换 检查每次迭代“ 文件名部分只有没有它自己的扩展名 “不包含其他扩展名( .jpg
)。将在文件名中包含不包含其他扩展名的文件 XCOPY 命令使用条件 如果 相应的逻辑。
@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
.jpg
文件,然后删除.jpg.jpg
那些。