我需要删除目录中的某些文件。它们都按 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
)