首页 > 技术文章 > 读取txt文本中每一条路径(一行)并判断,路径不存在的保存在另一txt文本中

Jian-Zhang 2016-11-14 22:24 原文

@echo off 
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set desk=%%j
)
echo %date:~0,4%年%date:~5,2%月%date:~8,2%日  %time:~0,8% >> %desk%\checkFilePath.txt
echo 以下文件路径不存在 >> %desk%\checkFilePath.txt
for /f %%i in (path.txt) do (
if not exist "%%i" (@echo %%i >> %desk%\checkFilePath.txt)
)

效果如下:

更新之后大代码:

@echo off 
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set desk=%%j
)
if exist %desk%\CheckMTP.txt (del %desk%\CheckMTP.txt)
echo Following Paths do not exist or can't access to >> %desk%\CheckMTP.txt
set var=true
for /f "tokens=*" %%i in (\\bvtsrv2\team\v-jenkin\File\MTP.txt) do (
echo %%i
if not exist "%%i" (  
set var=false
@echo %%i >> %desk%\CheckMTP.txt)
)
if "%var%"=="true" (
    del %desk%\CheckMTP.txt
    echo All paths are correct >> %desk%\CheckMTP.txt
)
pause

 修订版:增加了ID读取

@echo off 
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set desk=%%j
)
if exist %desk%\CheckInsertion.txt (del %desk%\CheckInsertion.txt)
echo Following Paths do not exist or can't access to >> %desk%\CheckInsertion.txt
set var=true
for /f "delims=; tokens=1-2" %%i in (\\bvtsrv2\team\v-jenkin\File\Insertion2.txt) do (
echo %%i   
if not exist "%%i" (   
set var=false
@echo %%i  %%j >> %desk%\CheckInsertion.txt)
)
if "%var%"=="true" (
    del %desk%\CheckInsertion.txt
    echo All paths are correct >> %desk%\CheckInsertion.txt
)
pause

 

推荐阅读