2013-02-10 50 views
0

試圖進行批處理以顯示文件的文件大小。 我發現在另一篇文章(How can I check the size of a file in a Windows batch script?),但每當我輸入文件名用空格,我得到「Missing操作數」的「FOR」(幾乎)完美地解決排隊帶空格的文件名導致缺失操作數

我已經在一批像這樣實現的:

echo off 
set /p title="Enter Film title: " %=% 
set sum1=0 
set fname="C:\Users\Public\Videos\ripped\%title%.mkv" 
FOR /F "usebackq" %%A IN ('%fname%') DO set size=%%~zA 
set /a sum1=%size%/1000000 
echo Finished %title%.mkv, Size %sum1%Mb 

因此,例如,[皇家]的作品,但[真的謊言]沒有。我已經嘗試過幾種引號等組合,但無法讓它起作用。可能缺少一些小東西,但任何人都可以幫忙? 感謝 羅布

回答

0

嘗試FOR /F "usebackq tokens=*" %%A IN ('%fname%') DO set size=%%~zA

+0

謝謝,是的,這工作。我只是通過刪除usebackq來找到另一種方法:(FOR %% A IN(%fname%)DO set size = %%〜zA),但不確定是否會導致問題,所以我會使用你的。非常感謝 – user2058787 2013-02-10 15:05:44

+0

請接受他的回答(綠色勾號),以表明您的問題或疑問已得到解答。 – 2013-02-11 06:13:38

+0

@ProfPickle OP已經接受了答案15小時前 – 2013-02-11 06:37:27