2014-01-10 259 views
77

我希望能夠檢查某個文件夾(FolderA)是否存在,如果存在,要顯示的消息以及要退出的批處理文件。使用.bat文件檢查文件夾是否存在

如果FolderA不存在,那麼我想檢查是否存在另一個文件夾(FolderB)。如果FolderB不存在,則應顯示一條消息並創建該文件夾,如果FolderB確實存在,則應顯示一條消息說明。

有沒有人有任何想法,我可以簡單地使用記事本創建一個批處理文件,我可以做到這一點的代碼?

所有這些都需要在一個.bat文件中完成。

+6

谷歌搜索與[測試驅動器或目錄是否存在](http://support.microsoft.com/kb/65994)一起提供。這就解釋瞭如何做你要求的... – NealB

+1

搜索「批處理文件目錄存在」這裏找到了SO [Windows批處理文件查找目錄,如果不存在創建然後移動文件](http:// stackoverflow.com/questions/17899191),它向你展示瞭如何查看一個目錄是否存在。這裏也有關於從批處理文件創建目錄的文章。在發佈新問題之前請做一些基礎研究;很可能這個問題以前曾在這裏提過。謝謝。 –

+3

Windows批處理是一種編程語言,檢查文件是否存在是編程任務。出現在主題上。 – h22

回答

132

嘗試使用這一個文件:

IF EXIST yourfilename (
echo Yes 
) ELSE (
echo No 
) 

替換yourfilename與你的文件名是什麼是。

對於DIR看看這個http://support.microsoft.com/kb/65994

C: 
IF NOT EXIST C:\WIN\ GOTO NOWINDIR 
CD \WIN 
:NOWINDIR 

尾部的反斜槓(「\」)似乎是不夠的目錄和普通文件區分開來。

+1

謝謝!這實際上幫了很多! – user3179825

+2

答案的第二部分不完整。 – tMJ

+3

如果存在c:\ folder \ nul「echo ok」在Windows 7下不適用於我。「如果存在」c:\ folder \「echo ok',那麼有效。 –

16

我想答案就在這裏(可能是重複的):

How to test if a file is a directory in a batch script?

IF EXIST %VAR%\NUL ECHO It's a directory 

與目錄替換%VAR%。請閱讀原始答案,因爲包括有關處理文件夾名稱中的空格的詳細信息。如foxiderive所說,這在NT類窗口上可能不可靠。它爲我,但我知道它有一定的侷限性(您可以在引用問題找到)

if exist "c:\folder\" echo folder exists 

應該夠現代窗戶。

+4

\ nul技術不可靠NT類窗口。然而,在MSDOS和Win9x中沒問題。 在現代Windows的解決方案是簡單的 '如果存在'c \:\文件夾\「回聲文件夾存在' – foxidrive

+0

我認爲這也是在引用的鏈接中指定的。 – Cosmin

+0

仍然不明白爲什麼我會downvoted(這意味着「沒用」)。我添加了對答案涵蓋所需方案的問題的參考。 – Cosmin

相關問題