2013-10-03 97 views
-1

好吧,我正在嘗試製作一個簡單的BAT文件,用於刪除多個文件夾中的文件。現在這是我迄今爲止所擁有的。我希望它會刪除Temp目錄中的所有文件和文件夾,但不會刪除數據目錄中的文件夾...我也想讓它對提示說「是」。我該怎麼做呢???如何強制我的批處理文件隱藏cmd窗口並說「是」?

@ECHO OFF 
DEL "C:\ProgramData\TVersity\Media Server\data\*.*" 
DEL "%LOCALAPPDATA%\Temp\*.*" 

我就準備加入更多的目錄到該BAT文件,所以請您是否可以用「如何將命令」迴應...因爲我想知道如何指定是否要刪除所有文件夾和文件或只是文件。

另外如何自動化所有提示的「是」。

+0

如果要隱藏cmd窗口,應該使用非批處理文件(或至少使用調用批處理文件的shell腳本,因爲可以使用shell腳本隱藏cmd提示符,但不是一旦批處理文件已經運行)。 DEL沒有提示只是使用適當的標誌,你可以谷歌微不足道的問題。 :p 另外,我不確定這是否真的是SO的問題。 – neminem

+0

解決方案應該是**答案**,而不是**問題**的一部分。此外,當它是你自己的解決方案。此外,不需要更改問題標題。只需將選定的答案標記爲正確即可。 –

+0

好的,但我希望有這個問題的其他人知道正確的解決方案,因爲我的答案是2個或3個答案的組合......所以我會在評論中發佈解決方案,如果它是好的?以下解決方案: – Radical924

回答

2
del /s /q c:\somedirectory\*.* 

應採取遞歸刪除所有文件,但不刪除目錄的照顧,在「安靜」模式,不給你的提示。

要刪除整個目錄及其所有文件和子目錄,可以使用rd使用相同的標誌:

rd /s /q c:\somedirectory 

http://technet.microsoft.com/en-us/library/cc771049.aspx

+0

謝謝!我將使用上述答案的組合來發布我的完整腳本! – Radical924

2

您可以通過輸入del /?來了解del命令中的可用選項。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names 
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names 

    names   Specifies a list of one or more files or directories. 
       Wildcards may be used to delete multiple files. If a 
       directory is specified, all files within the directory 
       will be deleted. 

    /P   Prompts for confirmation before deleting each file. 
    /F   Force deleting of read-only files. 
    /S   Delete specified files from all subdirectories. 
    /Q   Quiet mode, do not ask if ok to delete on global wildcard 
    /A   Selects files to delete based on attributes 
    attributes R Read-only files   S System files 
       H Hidden files    A Files ready for archiving 
       I Not content indexed Files L Reparse Points 
       - Prefix meaning not 

在你的情況,你想

DEL /Q "C:\ProgramData\TVersity\Media Server\data\*.*" 
DEL /Q "%LOCALAPPDATA%\Temp\*.*" 
0

要退出你的腳本,你需要添加「退出」在結束。

要自動按Y,您可以回顯字符'Y'並將其輸入到您的命令中。

例如:

@ECHO OFF 
echo Y | DEL "C:\ProgramData\TVersity\Media Server\data\*.*" 
echo Y | DEL "%LOCALAPPDATA%\Temp\*.*" 
exit 
0

使用nircmd最小化命令提示符窗口:

nircmd win min title "Command Prompt" 
0
start /min "" ".\batchfile.bat" 

將開始從另一個批處理文件最小化您的批處理文件。

相關問題