2011-09-05 25 views

回答

4

下面的腳本會給你的驅動器上的自由字節:

@setlocal enableextensions enabledelayedexpansion 
@echo off 
for /f "tokens=3" %%a in ('dir c:\') do (
    set bytesfree=%%a 
) 
set bytesfree=%bytesfree:,=% 
echo %bytesfree% 
endlocal && set bytesfree=%bytesfree% 

注意,這取決於你的dir命令的輸出,需要包含的自由空間中的最後一行格式爲24 Dir(s) 34,071,691,264 bytes free。具體做法是:

  • 它必須是最後一行(或者你可以修改for循環檢測線明確,而不是依賴於每一行設置bytesfree)。
  • 可用空間必須是第三個「單詞」(或者您可以更改tokens=位以獲取不同的單詞)。
  • 千位分隔符是,字符(或者您可以將逗號替換爲其他位置)。

它不污染你的環境命名空間,只在退出時設置bytesfree變量。如果您的dir輸出不同(例如,不同的語言環境或語言設置),則需要調整腳本。

+0

我不得不使用這個腳本的輸出,並建立一個'if'表達式來確定我是否必須刪除舊的文件關閉驅動器。我用: 'ECHO%bytesfree%> x&FOR %%? IN(x)DO SET/A strlen = %%〜z? - 2&del x * newline * IF%strlen%LEQ 13 [...]' –

相關問題