ฉันกำลังสร้างสคริปต์แบทช์ windows ฉันต้องได้ขนาดที่เฉพาะเจาะจงของไฟล์เพื่อให้ฉันสามารถแทรกนั้นและค่าอื่น ๆ ที่ฉันได้ไปยังฐานข้อมูลแล้ว แต่ฉันก็ไม่สามารถหาวิธีที่เหมาะสมที่จะทำ
สมมติว่าชื่อของไฟล์คือc:\test!basename!.zip
(ฉันอยู่ใน for for loop ที่นี่) ฉันจะรับขนาดไฟล์และเก็บไว้ในตัวแปรได้อย่างไร?
เครื่องนี้เป็นเซิร์ฟเวอร์ Win2008
ตอบ
EliadTech เสนอวิธีแก้ปัญหาที่ฉันได้ลองไปแล้ว
for %I in (test.jpg) do @echo %~zI
ที่ทำงานโดยตรงในพรอมต์คำสั่ง แต่ล้มเหลวภายในสคริปต์
EliadTech ในขณะที่เราสงสัยแล้วคิดว่าจะตรวจสอบการหลบหนีดังนั้นเราจึงได้รับนี้
for %%I in (c:\test\!basename!.zip) do @echo yay %%~zI
ทำงานเหมือนจับใจ
ค่อนข้างผิดพลาดโง่ แต่ทุบตีทำให้ฉันเสียเกินกว่าจะซ่อม :)
for %I in (c:\test\!basename!.zip) do @echo yay %~zI
ฉันได้รับThe following usage of the path operator in batch-parameter substitution is invalid %~zI