@echo off
setlocal enableextensions disabledelayedexpansion
pushd "c:\target\folder" && (
for /f "tokens=1,* delims=." %%a in ('
dir /a-d /b "TOP_QUERIES-www.*.csv"
') do echo del /q "TOP_QUERIES-%%b" 2>nul
popd
)
Это изменяет текущий активный каталог на содержащий файлы и для каждого www
приставкой один , пытается удалить соответствующий парный файл. Если он не существует, ошибка будет отброшена. В конце текущий активный каталог будет восстановлен.
Чтобы определить имя файла для удаления, for /f
используется для тонирования имени файла с использованием точек в качестве разделителей. Мы запрашиваем два токена (tokens=1,*
), первый токен предшествует первому разделителю и сохраняется в параметре replaceabe %%a
, а второй запрошенный токен - это остальная часть имени файла и сохраняется в заменяемом параметре %%b
(следующий в алфавитном порядке).
Операции удаления выполняются только на консоли. Если выход правильный, удалите команду echo
до del
вы хотите удалить все файлы, кроме тех, которые имеют '' '' 'или вы хотите удалить все файлы? – npocmaka
нет! У меня есть несколько файлов с двойными именами, например, «TOP_QUERIES-filename.com.csv» и «TOP_QUERIES-www.filename.com.csv». так что эти двойные файлы я хочу избавиться от того, где у меня есть те, у которых 'www' в нем – Penny