2013-10-28 16 views
0

我想製作一個程序,允許用戶添加/刪除隱藏或只讀屬性到一個文件,並查看目錄中的所有隱藏文件。現在,我有兩個問題:批處理文件:顯示所有隱藏文件;定義一個文件是否有屬性

  1. 如何定義文件是否已有屬性?我想是這樣的:

    是否存在%文件%/ A:H GOTO ....

(我想知道,如果一個文件已具有 「隱藏」 屬性) 但它不起作用。

  1. 如何找出目錄中是否至少有一個隱藏文件?我試過這個:

    IF EXIST /A:H-d-S GOTO ...

(是隱藏文件,而不是一個目錄,而不是系統文件)

有人可以幫助我嗎?謝謝。

+0

'if'不支持這樣syntax.This是'dir'東西 – npocmaka

回答

2
for /f %%F in ('dir /b /ah "%file%" 2^>nul') do (
    echo file %%~F is hidden 
    rem <do something with the file> 
) 

檢查隱藏的文件目錄:

for /f %%F in ('dir /b /s /a-dh-s 2^>nul') do (
    echo dir %%~F contains hidden files 
    rem <do something with the dir> 
    goto :break_for 
) 
:break_for 
+1

不需要IF語句。 DIR/B/AH命令只會列出隱藏的文件。如果沒有,那麼循環將是空的,所以IF將永遠達不到。 – dbenham

+0

。好點,請編輯它。 – npocmaka

+0

第一個例子是好的,它可以工作,但談到第二個例子 - 我不需要搜索隱藏的目錄。我需要找出目錄中是否有任何文件,它們是隱藏的(屬性:H,-S和-D) –

相關問題