ฉันมีการวนรอบสำหรับที่ทำให้สายเดียวออกจากทุกบรรทัดในไฟล์ แนวคิดก็คือสำหรับแต่ละบรรทัดจะมีเส้นขนานในไฟล์สำรองที่มีค่าตัวแปรอยู่ ฉันทำที่นี่วนซ้ำที่สะท้อนตัวแปรที่อ่านเพื่อการทดสอบเท่านั้น
for %%a in (!loadstream!) do (
set /A "linecount=!linecount!+1"
for /F "skip=!linecount!" %%i in (save\%1\%1.sav) do (
echo %%i
)
)
FOR แรกใช้งานได้ดี แต่อย่างใดอย่างหนึ่งภายในจะไม่ขยายตัวแปร แต่มันอยู่ในฐานะ! linecount! และให้!linecount!" was not expected at this time.
มันทำงานได้ดีถ้าคุณใส่%linecount%
แทน แต่ฉันต้องการตัวแปรที่จะนับหนึ่งขึ้นทุกครั้งที่มันลูปดังนั้นจึงไม่เป็นไป setlocal EnableDelayedExpansion
ถูกตั้งค่าแน่นอน
รหัสบล็อกนี้มีไว้เพื่อเรียกภายในสคริปต์เมื่อใดก็ตามที่จำเป็นต้องโหลดชุดตัวแปรบางชุด ฉันสามารถลองและสร้างวิธีแก้ปัญหา clunky แต่ฉันสามารถบอกได้ว่านี่เป็นวิธีที่จะทำและฉันก็ไม่เข้าใจว่าเกิดอะไรขึ้น