我正在Windows上寻找一种方法来查找具有特定文件扩展名长度的所有文件,并将其复制到另一个位置,同时保留文件夹结构。
例如,假设我要复制D:驱动器上的所有文件,文件扩展名长度为6(*。******),并将它们复制到另一个位置,同时保留文件夹结构
这在CMD中是否可行?。
答案 0 :(得分:0)
C:\ Users \ PeterR> copy C:\ Users \ PeterR \ Documents \ cmd \ ???。txt C:\ Users \ PeterR \ Documents \ cmd1 \
- 用吗?指定lentgh。对于六个字符,它是扩展
答案 1 :(得分:0)
以下代码段如何:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
rem // Define constants here:
set "_SOURCE=D:\"
set "_DESTIN=E:\"
pushd "%_SOURCE%" || exit /B 1
for /F "delims=" %%F in ('
xcopy /L /E /I ".\*.*" "E:\" ^| find ".\"
') do (
for /R "D:\" %%F in ("*.*") do (
set "EXT=%%~xF"
setlocal EnableDelayedExpansion
if "!EXT:~6!"=="" if not "!EXT!"=="!EXT:~5!" (
endlocal
move /Y "%%~F" "%_DESTIN%\%%~F"
) else endlocal
)
popd
endlocal
exit /B