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