我们的每晚构建会将代码加载到一个文件夹中(例如:C:\build\nib_sw_12
)
我想在ANT从源代码控制加载文件之前删除之前的内容。
但是有一些文件没有被删除
由于它们有很长的路径(在嵌套文件夹下生成的java doc文件)
由于以前的构建,某些“exe”文件仍在运行
我想知道如何删除文件&具有长路径的文件夹+查杀打开(exe)文件并删除它们?
我希望在从源代码控制加载sw之前执行此操作。
我有什么想法可以做到这一点?
环境:赢取2008 R2 x64,ANT
答案 0 :(得分:1)
您可以使用taskkill终止进程,例如,只需运行app.exe
即可终止taskkill /im "app.exe" /f /t
进程。问题可能是您将拥有几个具有相同名称的进程。要删除目录,只需使用<delete>
任务,我认为它应删除长路径。
答案 1 :(得分:1)
您需要两个 sysinternals 工具的帮助:处理和 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