批处理脚本:如何在for循环

时间:2017-11-07 17:15:32

标签: batch-file filenames spaces

如何使用空格读取文件名

基本上,文件夹将包含具有不同扩展名的相同文件名,我想删除其中一个扩展名为.csv.completed的文件。

例如

abc t1.xlsx
abc t1.csv.completed

以下代码无法正常发送消息.... 系统找不到文件C:\ Users \ demo \ Desktop \ des_cp \" * .xlsx"。

脚本

@echo off

for /F "usebackq delims==" %%I in ("C:\Users\demo\Desktop\des_cp\*.xlsx") do (
    if exist "C:\Users\demo\Desktop\des_cp\%%~nl.completed" del %%I
)

2 个答案:

答案 0 :(得分:2)

for /f处理文件的内容。要处理文件(文件名),请使用普通for

for %%I in ("C:\Users\demo\Desktop\des_cp\*.xlsx") do echo %%I

答案 1 :(得分:2)

此代码应该有效。

@echo off

for %%I in ("C:\Users\demo\Desktop\des_cp\*.xlsx") do (
    if exist "C:\Users\demo\Desktop\des_cp\%%~nI.csv.completed" del "C:\Users\demo\Desktop\des_cp\%%~nxI"
)