使用批处理脚本清除硒测试中的临时文件夹



运行大量的硒测试会导致临时文件夹被大量"匿名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)由于某些文件夹无法在临时中删除,因此cmd窗口挂在那里,说无法删除这些文件夹。我对无法删除的文件很好,但我想关闭 cmd 窗口,因为我有数百个测试要运行,并且每个打开 cmd 窗口的测试都非常丑陋。

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

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

由于无法删除当前目录,它将删除所有未锁定的文件和目录。

 if not "%temp%"=="%CD%" goto :eof 
每当批处理文件

命中此行时,它都会测试当前目录是否等于临时目录,如果未退出批处理文件。

相关内容

最新更新