IF 多个条件

IF multiple conditions

F.e。用户桌面上有一些文件夹。我想删除此文件夹中除快捷方式之外的所有文件。有两种类型的快捷方式 - 某些 local\network 资源和某些站点的快捷方式。

"shortcuts on some local\network resources" 有 .lnk 扩展名

"shortcuts to some sites" 有 .url 扩展名

我已经already found如何单独完成这个任务

forfiles /p "%userprofile%\Desktop\folder" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.lnk] del /F /Q %G"

forfiles /p "%userprofile%\Desktop\folder" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.url] del /F /Q %G"

但是如何将这些条件组合成一个字符串呢?像 if /I [%~xG] neq [.lnk] AND [.lnk] ...

完全没有必要使用 within your /C 命令。

试试吧;

ForFiles /P "%UserProfile%\Desktop\folder" /S /C "Cmd /C If /I Not @ext==\"lnk\" If /I Not @ext==\"url\" Del /A /F @path"

或使用帮助信息中显示的十六进制代码,可在命令提示符处输入 forfiles /?

ForFiles /P "%UserProfile%\Desktop\folder" /S /C "Cmd /C If /I Not @ext==0x22lnk0x22 If /I Not @ext==0x22url0x22" Del /A /F @path"