我们的夜间构建将代码加载到一个文件夹中(例如:)C:\build\nib_sw_12
我想在 ANT 从源代码管理加载文件之前删除之前的内容。
但是有些文件没有被删除
由于它们的路径很长(在嵌套文件夹下生成的 java doc 文件)
由于以前的版本,一些“exe”文件仍在运行
我想知道如何删除具有长路径的文件和文件夹+杀死打开的(exe)文件并删除它们?
我想在从源代码管理加载 sw 之前执行此操作。
任何想法我怎么能做到这一点?
环境:Win 2008 R2 x64,ANT
我们的夜间构建将代码加载到一个文件夹中(例如:)C:\build\nib_sw_12
我想在 ANT 从源代码管理加载文件之前删除之前的内容。
但是有些文件没有被删除
由于它们的路径很长(在嵌套文件夹下生成的 java doc 文件)
由于以前的版本,一些“exe”文件仍在运行
我想知道如何删除具有长路径的文件和文件夹+杀死打开的(exe)文件并删除它们?
我想在从源代码管理加载 sw 之前执行此操作。
任何想法我怎么能做到这一点?
环境:Win 2008 R2 x64,ANT
您可以使用 taskkill 杀死进程,例如杀死app.exe
进程 just run taskkill /im "app.exe" /f /t
。问题可能是当您将有几个同名的进程时。要删除目录只需使用<delete>
任务,我认为它应该删除长路径。
您需要两个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