国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

用DOS命令判斷磁盤分區(qū)是否為NTFS格式

2020-06-09 13:37:36
字體:
供稿:網(wǎng)友
一同事問起,如何使用命令判斷磁盤是否是NTFS格式,以便進行進一步執(zhí)行相關(guān)命令操作,如轉(zhuǎn)換磁盤格式或設(shè)置文件/文件夾安全權(quán)限。 

  第一反應(yīng),可以使用diskpart。經(jīng)嘗試,可以如下使用:

echo list volume>t.txt && diskpart /s t.txt | find "C " >result.txt && del t.txt

 然后使用for語句對輸出結(jié)果result.txt進行分段判斷,但這樣的代碼看起來過于復(fù)雜,而且diskpart只能運行在管理員模式下。

所以使用diskpart命令不太現(xiàn)實。使用cacls進行文件權(quán)限設(shè)置的時候發(fā)現(xiàn),在運行在非NTFS格式的磁盤上運行會返回1,所以可以如下判斷某一磁盤是否為:

cacls c:/ >nul
if %errorlevel%==1 echo C盤不是NTFS格式

  但如上方法只適用與XP/2003,WIN2000無DISKPART命令,且在非NTFS上運行CACLS返回0,雖然可以使用ver命令輸出來判斷系統(tǒng)是否為XP/2003,但在WIN2000下使用cacls命令難以判斷是否為NTFS格式。也許會說按cacls命令輸出為空來判斷,那如果那個盤剛好是NTFS格式,但無任何安全權(quán)限,那就不好說了。

  編寫了一WMI腳本(FileSystem.vbs):

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

For Each strComputer In arrComputers

   Set objWMIService = GetObject("winmgmts://./root/CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
      WScript.Echo objItem.Caption & " " & objItem.FileSystem
   Next
Next

 cscript //nologon filesystem.vbs 可以列出所有盤符的文件系統(tǒng)格式,除了不可用的(如未放光盤的光驅(qū)),固可修改批處理如下:

cscript //nologo filesystem.vbs | find "C: NTFS"
if %errorlevel%=1echo C盤不是NTFS格式

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西和县| 鲁甸县| 清河县| 神木县| 崇信县| 南木林县| 宜阳县| 哈巴河县| 都昌县| 永新县| 长葛市| 柳江县| 山阴县| 襄汾县| 平顶山市| 措勤县| 车致| 翼城县| 佳木斯市| 八宿县| 宣武区| 西贡区| 策勒县| 石河子市| 栾城县| 长宁区| 松滋市| 凤山市| 陆良县| 东台市| 银川市| 陆丰市| 长治市| 台山市| 甘德县| 七台河市| 武安市| 仲巴县| 思茅市| 南安市| 瑞昌市|