1

我们的夜间构建将代码加载到一个文件夹中(例如:)C:\build\nib_sw_12我想在 ANT 从源代码管理加载文件之前删除之前的内容。

但是有些文件没有被删除

  1. 由于它们的路径很长(在嵌套文件夹下生成的 java doc 文件)

  2. 由于以前的版本,一些“exe”文件仍在运行

我想知道如何删除具有长路径的文件和文件夹+杀死打开的(exe)文件并删除它们?

我想在从源代码管理加载 sw 之前执行此操作。

任何想法我怎么能做到这一点?

环境:Win 2008 R2 x64,ANT

4

2 回答 2

1

您可以使用 taskkill 杀死进程,例如杀死app.exe进程 just run taskkill /im "app.exe" /f /t。问题可能是当您将有几个同名的进程时。要删除目录只需使用<delete>任务,我认为它应该删除长路径。

于 2013-04-25T07:10:55.947 回答
1

您需要两个sysinternals工具的帮助:handlepskill。请参阅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
于 2013-04-25T10:17:03.913 回答