在另一个文件.bat中删除一个文件及其名称和路径



我需要知道是否可以创建一个批处理代码,读取file.txt,并根据那里的信息访问文件夹路径和删除文件。在我的file.txt中,是sql查询的结果。

my_file.txt

file_name, file_path
abcd, D:/user/desktop/teste123
efgh, D:/user/desktop/folder789

Batch需要读取"file_name"(知道要删除的文件(和file_path(知道要在哪里删除(。

有可能吗?请帮帮我

谢谢。

您将在,delimeter上运行for循环和拆分,并将每个作为变量使用。

因此,作为一个未经测试的示例,在这里我将拆分文件条目并分配2个令牌%%i%%j

@echo off
for /f "tokens=1,2 delims=," %%i in (my_file.txt) do echo "%%i" "%%j"

请注意,我在标记中添加了一个双引号,因为它可能包含空格。

看到你想删除,它可能会像这样:

@echo off
for /f "tokens=1,2 delims=," %%i in (my_file.txt) do echo del "%%j%%i"

您只需移除回声即可执行实际删除。

根据您的评论,要跳过第一行并排除**rows affected行,您可以使用:

for /f "tokens=1,2 skip=1 delims=," %i in ('more my_file.txt ^| findstr /VI /C:"rows affected"') do del "%%j%%i"

或者,如果您正在使用更多,则可以排除skip=1,只需在more命令中使用+1

for /f "tokens=1,2 delims=," %i in ('more +1 my_file.txt ^| findstr /VI /C:"rows affected"') do del "%%j%%i"

相关内容

最新更新