| 
 | 
	
 
 
  系统环境:Windows 7 64bit 
  开发语言:python 2.5 
  Cygwin之前安装到D盘,重做Windows 7系统之后希望可以重新安装Cygwin,准备删除D盘的Cygwin目录,发现无法删除。查其原因,是因为权限问题,Cygwin目录administrator没有全部访问控制权限。找到修改办法,需要更改cygwin目录中所有文件及文件夹的所有者,鼠标点击修改过于缓慢,尝试通过python写程序实现。代码如下: 
 
 
 
''' 
Created on Nov 22, 2011 
@author: Gino 
''' 
import os 
redir = 'd:\cygwin' 
def release(obj): 
    #print(os.getcwd()) 
    if os.path.isfile(obj): 
        return 
    cmd = 'cacls ' + obj + '\*.* /g everyone:f' 
    print(cmd) 
    #os.system(cmd) 
    p = os.popen(cmd, "w") #auto confirm 
    p.write('y\n')     
    subobjs = os.path.os.listdir(obj) 
    if subobjs == [] : 
        return 
    else: 
        for temp in subobjs: 
            tempobj = os.path.join(obj, temp) 
            release(tempobj)         
if __name__ == '__main__': 
    release(redir) 
    rmcmd = 'rmdir ' + redir + ' /s /q' 
    #print(rmcmd) 
    os.system(rmcmd) 
  将cygwin目录下所有的子目录及文件更改权限组为everyone,最后删除。 
  自动确认关键代码参考文献: 
  1.http://docs.python.org/lib/os-newstr...#os-newstreams 
p = os.popen(command, "w") 
p.write("y\n") 
   
2.http://docs.python.org/lib/module-subprocess.html 
from subprocess import Popen, PIPE 
p = Popen(command, shell=True, stdin=PIPE) 
p.stdin.write("y\n") |   
 
 
 
 | 
  
 |