我们的夜间构建在一个文件夹中加载代码(例如:C:buildnib_sw_12
)我想在ANT从源代码管理加载文件之前删除之前的内容。
但是有一些文件没有被删除
-
因为它们有很长的路径(java doc文件在嵌套文件夹下生成)
-
由于以前的版本,一些'exe'文件仍在运行
我想知道如何删除文件&具有长路径的文件夹+杀死打开(exe)文件并删除它们?
我希望在从源代码管理加载sw之前完成此操作。
我该怎么做呢?
环境:Win 2008 R2 x64, ANT
您可以使用taskkill来杀死进程,例如,要杀死app.exe
,只需运行taskkill /im "app.exe" /f /t
。问题可能是当您有几个具有相同名称的进程时。使用<delete>
任务删除dir,我认为应该删除长路径
您需要两个sysinternals工具的帮助:handle和pskill。见http://technet.microsoft.com/en-us/sysinternals/bb795533
,然后可以找到正在锁定文件的程序的pid
for /f "tokens=3 skip=4" %%a in ('handle my_file.dat') do echo %%a
并杀死它
for /f "tokens=3 skip=4" %%a in ('handle my_file.dat') do pskill %%a