Batch file 比较文件名(如果存在),然后使用批处理文件删除

Batch file 比较文件名(如果存在),然后使用批处理文件删除,batch-file,compare,filenames,Batch File,Compare,Filenames,我在一个文件夹中有许多.csv文件,它们的名称如下:TOP\u querys-filename.com.csv,TOP\u querys-www.filename.com.csv是否可以比较除TOP\u querys-www.以外的所有文件名,以确定TOP\u querys-www.filename.com.csv是否存在,然后删除它,否则保留它们 我知道这在php中是可能的,但我想用批处理文件完成它 谢谢@echo off setlocal enableextensions disablede

我在一个文件夹中有许多.csv文件,它们的名称如下:
TOP\u querys-filename.com.csv
TOP\u querys-www.filename.com.csv
是否可以比较除
TOP\u querys-www.
以外的所有文件名,以确定
TOP\u querys-www.filename.com.csv
是否存在,然后删除它,否则保留它们

我知道这在php中是可能的,但我想用批处理文件完成它

谢谢

@echo off
setlocal enableextensions disabledelayedexpansion
按“c:\target\folder”键和(
对于/f“tokens=1,*delims=。”%%a in('s)
dir/a-d/b“TOP_QUERIES-www.*.csv”
“)执行echo del/q“TOP_查询-%%b”2>nul
邻苯二胺
)
这会将当前active directory更改为包含文件的active directory,并且对于每个带前缀的
www
将尝试删除相应的成对文件。如果该错误不存在,则丢弃该错误。最后,将还原当前的active directory

要确定要删除的文件名,使用/f的
标记文件名,使用点作为分隔符。我们请求两个令牌(
tokens=1,*
),第一个令牌位于第一个分隔符之前,存储在
%%a
replaceabe参数中,而请求的第二个令牌是文件名的其余部分,存储在
%%b
(按字母顺序排列的下一个)可替换参数中


删除操作仅回显到控制台。如果输出正确,请在
del

之前删除
echo
命令。要删除所有文件,但不包括
www.
?或要删除所有文件?否!我有一些双重名称的文件,例如,
TOP\u querys-filename.com.csv
TOP\u querys-www.filename.com.csv
。所以我想把那些我保留在
www
中的双重文件去掉