いくつかの基本的な Windows コマンドの出力を一連のファイルに収集するスクリプトを作成しようとしていますが、vssadmin コマンドがイライラします。コマンドは比較的シンプル
os.system('vssadmin list writers>> x:\foo\vss.txt')
問題は、私が python 32 ビットで書いていて、これが 64 ビット Windows で機能することを確認したいということです。これを実行すると、戻り値は次のとおりです。
vssadmin 1.1 - ボリューム シャドウ コピー サービス管理コマンド ライン ツール (C) Copyright 2001-2005 Microsoft Corp.
エラー: ボリューム シャドウ コピー サービス コンポーネントで予期しないエラーが発生しました。詳細については、アプリケーション イベント ログを確認してください。
32 ビットの Python から 64 ビットのコマンド ラインを呼び出して、ビット深度検出機能を使用して呼び出すかどうかを決定できますか、それとも別のよりエレガントなソリューションがありますか?
フォローアップ:MBuを出発点として使用すると、次のコマンドでうまくいくことがわかりました。
os.system('%systemroot%\\sysnative\\cmd.exe /c vssadmin list writers > x:\\foo\\vss.txt')