批量删除文件‘i’至‘n’

批量删除文件‘i’至‘n’

我需要删除目录中的某些文件。它们都按 file1.txt、file2.txt、...、filen.txt 进行编号

我想询问用户他们要删除的文件数量(称为x),然后从file1.txt删除到filex.txt

我尝试过这个,但是它似乎不起作用。

@Echo off
set /p x= Enter a number: 
set extension=.txt
set first=file
for %%i in (0,1,%x%) DO ( 
set "filename=%first% + %i% + %extension%"
echo "%filename%"
del /q "D:\\%filename%"
pause
)

答案1

下面纠正了一些小的语法错误,但主要问题是缺乏 延迟扩张 使变量在执行时而不是解析时扩展

更正后的脚本:

%echo off
setlocal EnableDelayedExpansion

set /p x=Enter a number:
set extension=.txt
set first=file
for /L %%i in (0,1,%x%) DO (
  set "filename=%first%%%i%extension%"
  echo !filename!
  del /q "D:\!filename!"
  pause
)

相关内容