0

运行大量的 selenium 测试会导致 temp 文件夹被大量的“anonymous-web-driver”配置文件(对于 Firefox)和 'scoped-dirs'(对于 chrome)填充。

为了解决这个问题,我想出了以下批处理脚本代码

@echo off
cd %temp%
for /d %%D in (*) do rd /s /q "%%D"
del /f /q *

我有以下问题

1)它成功地完成了这项工作,但是当批处理脚本在网络驱动器上运行时,它会删除当前文件夹中的所有文件,因为cd %temp%没有临时文件夹,因此不会导航到临时文件夹。

无论如何确保仅当当前目录为临时目录时才执行第 3 行和第 4 行。由于脚本存储在网络驱动器上,我想确保即使它是偶然运行的,它也会导致任何意外删除。

2)由于某些文件夹无法在 temp 中删除,因此 cmd 窗口挂在那里说无法删除这些文件夹。我对无法删除的文件很好,但我想关闭 cmd 窗口,因为我有数百个要运行的测试和打开 cmd 窗口的每个测试都非常难看。

我尝试了以下Runtime.getRuntime().exec("taskkill /f /im cmd.exe");方法,它工作正常,除了以下事实,它会杀死所有 cmd 进程,还有其他 cmd 进程可以做一些工作。有没有办法只关闭运行时 exec 调用打开的 cmd 窗口?

4

2 回答 2

2
setlocal enableextensions

    pushd "%temp%"
    if not errorlevel 1 (
        rmdir . /s /q >nul 2>nul
        popd
    )

并且由于当前目录不能被删除,它会删除所有未锁定的文件和目录。

于 2013-10-29T12:43:35.210 回答
0
 if not "%temp%"=="%CD%" goto :eof 

每当批处理文件到达这一行时,它会测试当前目录是否等于临时目录,如果不等于则退出批处理文件。

于 2013-10-31T00:53:34.647 回答