สมมติว่าคุณมีซึ่งความต้องการในการอ้างถึงC:\foo\foo.bat C:\foo\foo.txtอาจถูกเรียกใช้จากไดเรกทอรีอื่น แต่ต้องได้รับfoo.txtจากไดเรกทอรีของตัวเองไม่ใช่ไดเรกทอรีปัจจุบัน เห็นได้ชัดว่านี้สามารถทำได้โดยการวางเส้นทางแบบเต็มในC:\foo\foo.txtfoo.bat
การบิดคือไม่ทราบเวลาเขียนแบทช์ไฟล์ซึ่งมันจะอยู่ในเครื่องของผู้ใช้ดังนั้นไฟล์แบทช์ที่ต้องทำคือรับ foo.txt จากไดเรกทอรีที่ฉันอาศัยอยู่ที่ไหนก็ตาม ที่จะเกิดขึ้น (ในโปรแกรม C ที่ฉันใช้argv[0]แต่ดูเหมือนจะไม่ทำงานกับแบตช์ไฟล์)
มีวิธีทำเช่นนี้หรือไม่?
shiftคำสั่งคุณจำเป็นต้องตรวจสอบให้แน่ใจว่าคุณแคชข้อมูลนั้นไว้ที่ใดที่หนึ่ง (เช่นตัวแปร) ก่อนที่จะทำshiftหรือคุณจะสูญเสียข้อมูลของคุณ