以下是批處理程式,本是想比較兩個檔案存在的音頻檔案是否一致,不一致就替換,為了除錯現在用到的2.txt中的檔案內容就是dir當前目錄內容,可外層回圈只執行一次,2.txt中的有幾十行內容,只讀取了第一個就不往下執行了,這個代碼我來回改了好多次,只要把中間的goto跳轉去掉,執行就沒問題,請教大家,外回圈為什么只執行一次,代碼錯在哪里?
下面讀取到的dir項分別是,修改日期 時間 位元組 檔案名四項
@echo off
setlocal enabledelayedexpansion
set /a js=0
set /a zj=0
for /F "tokens=1-3,*" %%i in (2.txt) do (
set filename1=%%l
echo !filename1!
set byte1=%%k
set dd1=%%i
set hh1=%%j
set DR=dir "!filename1!"
set /a zj=!zj!+1
for /F "skip=5 tokens=1-3,*" %%a in ('!DR!') do (
set filename=%%d
set byte=%%c
set dd=%%a
set hh=%%b
if "!filename1!" == "!filename!" (
if not "!byte1!" == "!byte!" goto byte_neq
if not "!dd1!" == "!dd!" goto date_neq
if not "!hh1!" == "!hh!" goto time_neq
goto next
:byte_neq
set /a js=!js!+1
echo !filename1!----!byte1!----!byte!----位元組不等
:date_neq
set /a js=!js!+1
echo !filename1!----!dd1!----!dd!----日期不等
:time_neq
set /a js=!js!+1
echo !filename1!----!hh1!----!hh!----時間不等
:next
set filename1=
)
)
)
if !js! equ 0 (
echo 總計 !zj! 個檔案,所有檔案都相符
) else (
echo 總計 !zj! 個檔案,有!js!個檔案不相符
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/49635.html
標籤:其他開發語言
下一篇:易語言的下載和安裝
