我需要递归删除文件夹的内容,除了特定的扩展名 以防止它被非Office文件溢出。批量删除除递归的某些扩展名以外的所有
我尝试这样做:
@echo off
SET ROOTDIR=E:\Testdel\
for /f %%F in ('dir %ROOTDIR% /b /a-d ^| findstr /vile ".xls .xlt .xlm .xlsx .xlsm .xltx .xltm .ppt .pot .pps .pptx .pptm .potx .ppam .ppsx .sldx .sldm .pdf .xls .doc .dot .docx. .html .docm .dotb .docb .tiff .jpg .png .cdr .cpt .psd"') do del "%%F"
但它输出的错误:
Could Not Find C:\Users\username\New
任何想法,为什么?
如果您将ROOTDIR设置为'E:\ Testdel \',那么错误消息如何显示'C:\ Users \ username \ New'没有找到?实际存在文件夹或文件“New”吗?或者是这个名字在一个空间分裂?我猜这个代码不会处理名称空间。 – Phil1970