2013-04-25 60 views
1

我们每晚构建将代码加载到文件夹中(例如:C:\build\nib_sw_12) 我想在ANT从源代码控制加载文件之前删除之前的内容。如何在构建之前安全删除文件夹内容

但是,有一些没有得到删除

  1. 由于这样的事实,他们有很长的路径(在嵌套的文件夹生成Java文档文件)

  2. 一些“EXE”文件的一些文件由于以前的仍在运行构建

我想知道我怎么能删除文件夹&长路+杀邻笔(exe)文件并删除它们?

我想在sw从源代码控制加载之前这样做。

任何想法我可以做到这一点?

环境:赢2008 R2版x64,ANT

+0

你怎么想删除目录中的PID?使用蚂蚁还是詹金斯?你可以使用taskkill应用程序杀死进程。 – pepuch 2013-04-25 06:47:30

+0

ANT会更好(命令行也许?) – KK99 2013-04-25 07:01:52

+0

您是否尝试使用''任务删除文件?它没有删除长路径中的文件? – pepuch 2013-04-25 07:02:59

回答

1

可以使用的taskkill杀进程,例如,杀app.exe过程只需运行taskkill /im "app.exe" /f /t。问题可能出在您几乎没有相同名称的进程时。要删除目录只需使用<delete>任务,我认为它应该删除长路径。

+0

我的问题是多个app.exe运行并找到正确的一个.. – KK99 2013-04-25 07:14:03

+0

尝试找到一些程序,可以使用完整路径app.exe ant获取进程ID,然后使用带有该PID的taskkill。 – pepuch 2013-04-25 07:18:23

1

需要两个的Sysinternals工具的帮助:手柄pskill。见http://technet.microsoft.com/en-us/sysinternals/bb795533

你就可以找到该程序的被锁定的文件

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 
+0

对不起。无法选择2个答案:-)但+1。非常感谢 – KK99 2013-04-26 08:55:07

相关问题