繁体   English   中英

使用Batch脚本清除selenium测试中的临时文件夹

[英]Using Batch script to clear temp folder in selenium tests

运行大量的selenium测试会导致temp文件夹在firefox的情况下填充很多'anonymous-web-driver'配置文件,在chrome的情况下会填充'scoped-dirs'。

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

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

我有以下问题

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

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

2)由于某些文件夹无法在临时文件中删除,因此cmd窗口挂起来说这些文件夹无法删除。我很好用无法删除的文件但我想关闭cmd窗口,因为我有数百个测试运行和每个测试打开一个cmd窗口是非常难看的。

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

setlocal enableextensions

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

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

 if not "%temp%"=="%CD%" goto :eof 

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM