在另一个文件 .bat 中删除一个文件及其名称和路径
delete a files with their name and path in another file .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(知道要删除的位置)。
可能吗?请帮助我
谢谢。
您将 运行 一个 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"
我需要知道是否可以创建批处理代码,读取 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(知道要删除的位置)。
可能吗?请帮助我
谢谢。
您将 运行 一个 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"