1. 背景
DOS下的BAT批处理操作往往提供一个文件清单,然后对文件清单进行操作,如压缩、FTP/FTPS发送到远端、删除等,如何判断此文件清单的文件是否存在呢?解决此问题就有了此博客。
2. 思路
假如有文件清单filelist.txt如下:
E:\document\code_new
E:\java
E:\picture\11.PNG
E:\picture\12.PNG
E:\picture\notexist.PNG
其中,前四个目录(文件是存在的),最后一个文件不存在,因而笔者故意命名为notexist.
考虑到以下两步可解决此问题:
a) 逐行遍历filelist.txt的内容;
b) 对每一行内容进行判断是否存在。
3. 代码
@echo off
Rem close echo
rem into current path
pushd %~dp0
set FILENAME=filelist.txt
for /f "delims=^" %%i in (%FILENAME%) do (