2013-08-15 2 views
0

몇 가지 기본 Windows 명령의 출력을 파일 집합으로 모으고 vssadmin 명령을 실망스럽게 찾는 스크립트를 작성하려고합니다. 이 명령은 비교적 간단한32 비트 파이썬에서 64 비트 콘솔 호출

os.system('vssadmin list writers>> x:\foo\vss.txt') 

문제는 내가 파이썬 32 비트에서 작성이 64 비트 Windows에서 작동합니다 있는지 확인하려면 야한다는 것입니다이다.

vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool (C) Copyright 2001-2005 Microsoft Corp.

Error: A Volume Shadow Copy Service component encountered an unexpected error. Check the Application event log for more information.

내가 32 비트 파이썬 64 비트 명령 라인을 호출하고, 비트 심도 검출 함수를 호출할지 여부를 결정할 수 있고, 또는 다른보다 고급 용액이있다 :이 실행되면, 반환은 ?

후속 : 항상 64 비트 버전을 명시 적으로

os.system('%systemroot%\\sysnative\\cmd.exe /c vssadmin list writers > x:\\foo\\vss.txt') 

답변

0

Windows 2008 이상에서는 c:\Windows\Sysnative\vssadmin.exe을 시작할 수 있습니다. Windows 2003에서는 핫픽스가 필요하지만 파일 시스템 접합을 만들어 32 비트 응용 프로그램에서 64 비트 시스템 파일에 연결할 수도 있습니다. 자세한 내용은 내 대답 this question을 참조하십시오. 32 비트 cmd.exe에서 64 비트 cmd.exe를 실행하는 동안 규칙은 모든 응용 프로그램에서 동일하게 유지됩니다.

0

시작 C:\Windows\SysWOW64\vssadmin.exe : 나는 다음과 같은 명령은 트릭을한다는 것을 발견 점프 오프 포인트로 MBU를 사용.

+0

파이썬에서 vssadmin을 호출하는 것과 같은 오류가 발생합니다. 이 오류의 행렬이다 : '파이썬 + SysWOW64와 = 페일 파이썬 + SYSTEM32 = 실패 OS + SysWOW64와 = 실패 OS + SYSTEM32 = 적절한 출력'I가 함께 합동 환경의 수에 시도한 같은 결과. – jgeller

관련 문제