2

好的,所以我正在尝试制作一个简单的 BAT 文件来删除多个文件夹中的文件。现在这就是我到目前为止所拥有的。我想要它,所以它会删除 Temp 目录中的所有文件和文件夹,但不会删除数据目录中的文件夹......我也希望它对提示说是。我该怎么做呢???

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

我计划在这个 BAT 文件中添加更多目录,所以请如果你能用“如何命令”做出回应......因为我想知道如何指定是删除所有文件夹和文件还是只删除文件。

还如何自动化所有提示的“是”。

4

5 回答 5

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

应该注意在“安静”模式下递归删除所有文件而不删除目录,这不会给你提示。

要删除整个目录及其所有文件和子目录,您可以使用rd相同的标志:

rd /s /q c:\somedirectory

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

于 2013-10-03T21:37:01.607 回答
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\*.*"
于 2013-10-03T21:36:45.297 回答
0

要退出脚本,您需要在末尾添加“exit”。

要自动按 Y,您可以回显字符“Y”并将其通过管道传递到您的命令中。

例如:

@ECHO OFF
echo Y | DEL "C:\ProgramData\TVersity\Media Server\data\*.*" 
echo Y | DEL "%LOCALAPPDATA%\Temp\*.*"
exit
于 2013-10-03T21:41:45.737 回答
0
start /min "" ".\batchfile.bat"

将从另一个批处理文件最小化您的批处理文件。

于 2013-10-03T23:18:51.160 回答
0

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

nircmd win min title "Command Prompt"
于 2013-10-03T21:59:18.863 回答