我试图在Windows上制作批处理文件,删除当前目录中的所有文件,但不包括4个文件扩展名(log,sdb,sdk,bat).
我在Windows上尝试过Forfiles命令,但这会删除当前文件夹(甚至是bat文件)上的所有内容.我的命令是:
@ECHO OFF
FORFILES /M *.* /C "cmd /c IF NOT @ext=="sdb" (IF NOT @ext=="sbk" (IF NOT @ext=="log" (IF NOT @ext=="bat" DEL @FILE)))" /Q
Run Code Online (Sandbox Code Playgroud)
我怎样才能使它工作?
非常感谢!
在批处理中,我总是==在使用if命令时使用.(例如:if "19"=="3" echo My computer doesnt know maths)
怎么样对所有其他的(LSS,LEQ,NEQ等)?是不是有什么样!=的NEQ,还是我想Unix的?
我想使用符号的原因是因为我认为有人说文字或数字符号比使用文本变体更有效.
无论哪种方式,我还是想知道.谢谢.
我最近在文章“ 查找子字符串是否在字符串中(而不是在文件中)”中发现
@setlocal enableextensions enabledelayedexpansion
@echo off
set str1=%1
if not x%str1:bcd=%==x%str1% echo It contains bcd
endlocal
Run Code Online (Sandbox Code Playgroud)
然后
在
x平等的双方之前是要确保字符串bcd工作好。它还可以防止某些“不合适的”起始字符。
但是,我还没有找到关于this实际效果的任何解释x。那么x"%string%"和之间有什么区别"%string%"?