Windows批处理文件以删除桌面上的所有文件

Windows批处理文件以删除桌面上的所有文件,windows,batch-file,Windows,Batch File,我想写一个批处理文件,删除我电脑桌面上除文件夹和.lnk(快捷方式文件)以外的所有文件 原因是我想运行这个批处理文件来删除我们会议室PC上的所有文件,以便它保持整洁 你试过什么吗?欢迎来到StackOverflow。这不是一个代码编写服务,您可以发布一个需求列表,我们可以为您大量编写代码。我们希望您自己至少已经做出了真诚的努力来寻找解决方案,包括搜索本网站(和谷歌)寻找可能的解决方案。你没有表现出这样做的迹象。祝你好运。在命令行中,你可以通过这个命令获得所有非目录和非lnk文件的列表:dir/b

我想写一个批处理文件,删除我电脑桌面上除文件夹和.lnk(快捷方式文件)以外的所有文件


原因是我想运行这个批处理文件来删除我们会议室PC上的所有文件,以便它保持整洁

你试过什么吗?欢迎来到StackOverflow。这不是一个代码编写服务,您可以发布一个需求列表,我们可以为您大量编写代码。我们希望您自己至少已经做出了真诚的努力来寻找解决方案,包括搜索本网站(和谷歌)寻找可能的解决方案。你没有表现出这样做的迹象。祝你好运。在命令行中,你可以通过这个命令获得所有非目录和非lnk文件的列表:
dir/b/a-D | findstr/v“\.lnk$”
@indiv不必过滤输出,你可以直接使用FOR/FORFILES。你可以在
if
命令中使用
/i
不区分大小写的开关。它还需要处理所有用户的配置文件。
@Echo OFF

For %%# in (
    "%USERPROFILE%\Desktop\*"
) Do (
    If /I not "%%~x#" EQU ".lnk" (
        Del /Q "%%#"
    )
)

Pause&Exit
@Echo OFF

For /f "tokens=*" %%I in ('dir /s /b /a:-d-h  "%USERPROFILE%\Desktop\*"') Do (
    call :delIfNotLnk "%%I"
)
goto :EOF

:delIfNotLnk 
if  not "%~x1" == ".lnk" (
        Del /Q %1
)
goto :EOF