Batch file 比较文件名(如果存在),然后使用批处理文件删除
我在一个文件夹中有许多.csv文件,它们的名称如下: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
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
中的双重文件去掉