質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

3回答

4563閲覧

外部プログラムの実行が失敗する

ookura

総合スコア27

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/09 07:10

編集2020/07/09 08:39

PYTHONで.msref-appのアプリケーションが起動できません・・・。

デスクトップにショートカットを作成して環境変数からパスを通してみたり
いろいろ試してはみたのですが下記のエラーで止まってしまいます。

FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

プログラム内では下記の通り.runで起動させようとしています。
subprocess.run(r"‪C:\Users***\Desktop***.appref-ms")
※***.appref-msは社内の基幹システムの起動アプリとなっております

拡張子が.appref-msだと起動ができないのでしょうか・・・。
または別の起動方法があるのでしょうか。

不勉強で申し訳ありませんがご教示いただけますと幸いです。

よろしくお願いします。

追記:
上記プログラム打ち間違えていました
subprocess.run(r"‪C:\Users\〇〇〇\Desktop\〇〇〇.appref-ms")
〇部分はユーザー名、アプリ名を伏せています。
引き続き何かしら解決策をご教示いただけましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hope_mucci

2020/07/09 07:43

> r"‪C:\Users\*\Desktop\*.appref-ms" ワイルドカードですか?こんな名称のファイルは存在しない(できない)と思いますが、複数のアプリを一括起動したいのでしょうか。
Zuishin

2020/07/09 08:18 編集

ビルド後、.appref-ms だけ移動したのでしょう。 失礼。ワイルドカードを解決せず直接実行しようとしていましたか。それは無理ですね。
ookura

2020/07/09 08:39 編集

すみません、実行プログラムで記載した部分、打ち間違いです。 正しくは下記の通りです subprocess.run(r"‪C:\\Users\〇〇〇\Desktop\〇〇〇.appref-ms") 〇部分はユーザー名、アプリ名です 紛らわしくてすみません。ユーザー名とアプリ名を"*"で伏せようとしてタイプミスしました。
guest

回答3

0

ベストアンサー

ClickOnceアプリケーションマニフェストファイルをそのまま実行することはできません。
rundll32.exeを介して実行します。

r'rundll32.exe dfshim.dll ShOpenVerbShortcut ‪C:\Users\〇〇〇\Desktop\〇〇〇.appref-ms'

参考

投稿2020/07/09 10:16

hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

次のように、引数のディレクトリのバックスラッシュを2つにして試してみていただけますでしょうか。

python

1subprocess.run(r"‪C:\Users\〇〇〇\Desktop\〇〇〇.appref-ms")

私もこのようにしてエラーを解消しました。また、Pythonの公式ドキュメント
https://docs.python.org/ja/3/library/subprocess.html
このページの一番下に、注釈として「Windows における引数シーケンスから文字列への変換」という記載があり、項目5番に「複数のバックスラッシュにダブルクオーテーションマークが続くなら、バックスラッシュ 2 つで 1 つのバックスラッシュ文字と解釈されます。バックスラッシュの数が奇数なら、最後のバックスラッシュは規則 3 に従って続くダブルクオーテーションマークをエスケープします。」と書いてあることがそれを言っているのだと思います。

投稿2020/07/09 14:50

MorningMushroom

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ookura

2020/07/10 00:50

ご回答ありがとうございます。 バックスラッシュ試してみました。 しかしながらやはりエラーは変わらずといった形でした。
guest

0

そりゃファイルが見つからんのでしょう(そのまんまやん)

*.appref-msってファイルがホンマに有るのか確認してみよう

投稿2020/07/09 08:00

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/07/09 08:01

見つかるはずがないけどw
Zuishin

2020/07/09 08:04

ClickOnce です。
Zuishin

2020/07/09 08:19

読み間違えていました。ワイルドカードをファイル名に含むファイルは無いという意味ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問