【发布时间】:2019-07-05 11:51:49
【问题描述】:
F.e.用户桌面上有一些文件夹。我想删除此文件夹中除快捷方式之外的所有文件。有两种类型的快捷方式 - 一些本地\网络资源和一些网站的快捷方式。
“某些本地\网络资源的快捷方式”具有 .lnk 扩展名
“某些网站的快捷方式”具有 .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] ...
【问题讨论】:
-
if /I "%~xG" neq [.lnk] if /I "%~xG" neq [.url] ... -
(虽然一些纯粹主义者会注意到你不应该使用字符串来使用
neq,而是使用if not ... == ...- 两者都可以正常工作) -
我还会在
cmd /C之后和任何其他命令之前添加of @isdir == FALSE...
标签: windows batch-file cmd forfiles