我創建了一個windows批處理文件,僅將具有特定擴展名的文件複製到不同的文件夾中。下面是我用的代碼行:只複製htm不是html文件批處理窗口
for /R "%cd%" %%f in (*.htm) do copy "%%f" "%cd%\myfolder"
的問題是,這將複製以啓動名爲.htm任何擴展,也就是html的,我不希望;只有.htm。這個副本如何防止?
我已經試過
"(*.htm)"
("*.htm")
(*".htm")
(*."htm")
(*.htm*)
感謝
解決方案:
for /R %%f in (*.htm) do if /I "%%~xf" == ".htm" copy "%%f" "myfolder"
感謝@Aacini和@Monacraft
這符合短期和長期的文件名,以便不工作來解決這個問題。 – foxidrive
我對'?'通配符的理解是它僅僅匹配1個字符而不是'*'通配符。例如'file?'會匹配'file1'或'files',但不匹配'filename'。這是不正確的? – LeonardBlunderbuss
'DIR'和'FOR'等匹配'BOTH'短文件名和長文件名。在這種情況下,'a.html'的短文件名擴展名是'.htm',並且您的filespec將匹配它。 – foxidrive