DOS批次檔哪個指令可以算出資料夾內檔案的數量

hohoming wrote:
您好 這篇正巧符合我的需求

那我想在追問一下 如果是要取 那個資料夾底下的總檔案大小呢

然後在自己去算出來要呈現出來的數字

for /f "tokens=3" %%i in ('dir *.txt/s^|find "個檔案"') do set Totalsize=%%i

同時取出 總檔案的數量 總檔案的大小
for /f "tokens=1,3" %%i in ('dir *.txt/s^|find "個檔案"') do set Total=%%i&&set Totalsize=%%j

PS:
測試於 Windows XP 正常.
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4

plusv wrote:
for /f "to...(恕刪)



感謝你喔 又解決了我的問題

是不是截取出來的數字 例如:54,356,435是沒有辦法去做運算的

要轉成int格式才能去做運算吧?

hohoming wrote:
是不是截取出來的數字 例如:54,356,435是沒有辦法去做運算的

要轉成int格式才能去做運算吧?

改成如下就可以了.

for /f "tokens=3" %%i in ('dir/-c *.txt/s^|find "個檔案"') do set Totalsize=%%i

同時取出 總檔案的數量 總檔案的大小
for /f "tokens=1,3" %%i in ('dir/-c *.txt/s^|find "個檔案"') do set Total=%%i&&set Totalsize=%%j

PS:
測試於 Windows XP 正常.
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4

plusv wrote:
改成如下就可以了.f...(恕刪)


數字的逗號有不見了
但是做運算時出現

不正確的數字。數字限制為32位元精確度。
hohoming wrote:
數字的逗號有不見了
但是做運算時出現

不正確的數字。數字限制為32位元精確度。

CMD 運算是 32 位元有符號(正負)運算,
所以不能超過 2147483647,
(也就是不能超過 4GB, 2 的 32 次方).

變通方法:
批次檔呼叫 PowerShell,
請參考 PowerShell.
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4

plusv wrote:
(引用) CMD 運算是 32...(恕刪)



非精算


(KB) 1024
(MB) 1048576
(GB) 1073741824
(TB) 1099511627776


(例 1)
(實際) 987 652 147 483 647 = 898.2644 TB
(取前 9) 987 652 147 / 1099511 = 898.2649 TB

(例 2)
(實際) 652 147 483 647 = 607.3596 GB
(取前 9) 652 147 483 / 1073741 = 607.3601 GB

(例 3)
(實際) 52 147 483 647 = 48.5661 GB
(取前 8) 52 147 483 / 1073741 = 48.5661 GB

(例 4)
(實際) 2 147 483 647 = 1.9999 GB
(取前 7) 2 147 483 / 1073741 = 2.0000 GB

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!