Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 删除批处理脚本不工作_Batch File - Fatal编程技术网

Batch file 删除批处理脚本不工作

Batch file 删除批处理脚本不工作,batch-file,Batch File,当我执行此操作时,delete不起作用,它显示在日志文件中 C:\test*,您确定(是/否)?在命令提示下,它会显示以下消息“Fri 11/08/2013 16:11:43.28:“从“C:\test”>>“C:\Temp\Copy\u Delete.log”中删除” 这里可能有什么问题 尝试将安静标志传递给del命令 @ECHO OFF Set LOG="C:\Temp\Copy_Delete.log" ::########################################

当我执行此操作时,delete不起作用,它显示在日志文件中 C:\test*,您确定(是/否)?在命令提示下,它会显示以下消息“Fri 11/08/2013 16:11:43.28:“从“C:\test”>>“C:\Temp\Copy\u Delete.log”中删除”
这里可能有什么问题

尝试将安静标志传递给del命令

@ECHO OFF

Set LOG="C:\Temp\Copy_Delete.log"

::##############################################
::Begin Deleting 
::##############################################


Set Sourcedir="C:\test"

Echo %date% %time%: "Deleting from %sourcedir% >> %LOG%

FORFILES /P "%Sourcedir%" /D +0 /C "cmd /c del @path %Sourcedir%" >> %LOG%                                                                                            

这在Windows 7 Pro下工作:

del /Q @path %Sourcedir%" >> %LOG%

它会删除今天在C:\test中修改的所有文件。

我使用了上述命令并执行了脚本。收到Blew消息Fri 11/08/2013 17:08:14.39:“从C:\test”>>“C:\Temp\Copy\u Delete.log中删除”“进程无法访问该文件,因为另一进程正在使用它。删除不起作用,日志文件提供了Y/N选项。在forfiles脚本中有什么需要更改的吗?我还想从日志文件的c:\test文件夹中删除文件的名称。有没有办法做到这一点?您的bat文件是否位于您试图清理的同一文件夹中?如果是,那么显然您不能删除它,因为您正在运行它。另外,请尝试使用“以管理员身份运行”运行脚本。在执行脚本后会出现此错误。进程无法访问该文件,因为其他进程正在使用该文件。进程无法访问该文件,因为另一个进程正在使用该文件。您在
c:\test
中有在另一个程序中打开的文件。在c:\test中,您有使用.Lock机制打开的文件,例如Word、access、IIS日志文件?
@ECHO OFF

Set LOG="C:\Temp\Copy_Delete.log"

::##############################################
::Begin Deleting 
::##############################################


Set Sourcedir="C:\test"

Echo %date% %time%: Deleting from %sourcedir% >> %LOG%

FORFILES /P "%Sourcedir%" /D +0 /C "cmd /c IF @ISDIR==FALSE DEL @path" >> %LOG%