こんにちは。
今、WINDOWSでバッチファイルからPHPプログラムを開いて、PHPで得た値をバッチファイル側に戻したいと考えています。
これは、WINDOWSの.lnkというショートカットファイルのリンク先をPHPプログラムでゲットして、そのリンク先をバッチファイルに戻すことによって、コマンドラインからバッチファイルを引数の『.lnkファイル』を付けて呼び出した場合は、コマンドラインのカレントディレクトリがリンク先に移動する…って出来れば便利だなぁと思って。
現状、PHPから.LNKファイルのショートカットリンク先をゲットすることが出来ましたが、バッチファイルにはそのリンク先を返せていません。
そもそも、返すことが出来るのでしょうか?出来ないならば、POWERSHELLのバッチファイル的な.ps1に戻り値を戻すことが出来るのでしょうか?
コレばっかりはググっても分かりませんでした。ご存じの方、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
バッチファイルは、外部コマンドからはエラーレベルの数値しか受け取れなかったのではないでしょうか?(うろ覚え)
PowerShellコンソールでの場合ですが、PHPスクリプトからパス情報を取得したい場合は以下の記述になると思います。
ただし、こちらにPHPの実行環境がないので未検証です。
PS> Set-Location -LiteralPath $(php .\test.php .\shortcut_file.lnk)
$( )の中がPHPスクリプトの実行で
Set-Location -LiteralPath …… がコマンドプロンプトで言うところのcdコマンドです。
※PHPスクリプトは引数にショートカットファイルのパスを与える前提の表現です。
※PHPのスクリプト(上のtest.php)側では、ショートカットファイルのリンク先の絶対パスを
標準出力に出力するようにする必要があります。
以下、余談ですが
PHPスクリプトを使用しなくてもPowerShellだけで以下の様にすれば可能です。
----- test.ps1 ここから
if($ARGS.Count -eq 0){
Out-Host -InputObject "Usage: test.ps1 shortcut_file"
} else {
$shortcut = Get-ChildItem $ARGS[0]
$shell = new-object -comobject WScript.Shell
$path = $shell.CreateShortcut($shortcut.fullname).WorkingDirectory
Set-Location -LiteralPath $path
}
----- ここまで
使用方法
PS> .\test.ps1 .\foo.lnk
とても素晴らしいご回答、痛み入ります。
私のスキルではまだまだコマンドプロンプトのバッチファイルを記述できるレベルなので、
御教示頂きました、POWERSHELLにおいての方法をマスターできるように、
日々勉強に励みたいと存じます。
大変ありがとうございました。。
ベストアンサーに選ばせて頂きます。<m(__)m>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Python でWindowsのショートカット(.lnk)のプロパティを参照したい 1 2023/02/01 15:09
- ネットワーク 通信量を見たい 3 2023/03/01 07:47
- その他(プログラミング・Web制作) Windowsのバッチファイルについてご教示ください 5 2023/07/25 20:23
- 一眼レフカメラ 「Imaging Edge」を手動起動せず、ARWファイルを最高画質JPEGへ変換する方法は? 2 2022/08/05 11:38
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- その他(プログラミング・Web制作) バッチファイル 1 2022/09/16 14:51
- PHP phpでアクセスカウンターの数値の割合でリンク先を変更したい 1 2022/09/16 11:47
- その他(パソコン・スマホ・電化製品) WindowsのバッチファイルのEXITと:EXITの違いはなんですか? 1 2023/03/13 12:38
- Windows 10 Windows10で、フォルダにあるすべてのファイルを、下層フォルダも含め一つの階層へ配置し直したい 3 2022/05/31 09:50
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLが.PHPってどういう...
-
.phpと.incファイルの違いはな...
-
winサーバーでphpを開こうとす...
-
.phpファイルが、表示されない
-
テキストボックスの値をファイ...
-
別のドメインのファイルをrequire
-
PHPの戻り値をWINDOWSバッチフ...
-
【file_exists】ファイルが存在...
-
あるサイトにあるcsvファイルを...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
バッチを用いたフォルダの自動移動
-
phpとaspの違いについて
-
form actionで二つ送信先を指定...
-
phpで画像がどうしても文字化け...
-
透過PNGが透過されない!!
-
PHP8を使うと、大量のWarningが...
-
index.phpって何ですか? 具体...
-
PHPで、エラーがない場合のみ画...
-
これの対応OSを教えて下さい。p...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【file_exists】ファイルが存在...
-
.phpと.incファイルの違いはな...
-
.phpファイルが、表示されない
-
URLが.PHPってどういう...
-
phpinfoの内容が見れない
-
PHPを使ってのサーバ上ファイル...
-
PHPの戻り値をWINDOWSバッチフ...
-
htmlspecialcharsが機能してい...
-
サーバ無しでphpを動作させる
-
プロパティファイルの読み込み...
-
CakePHP2のCronでのShellを使う...
-
HTMLに埋め込んだPHPがうまく出...
-
htdocsフォルダ以外ではPHP...
-
PHP+MySQL SQL文を外部ファイル...
-
apacheで拡張子を省略してアク...
-
サイトのphpソースコードを表示...
-
XAMPPのPHPファイルがNotFound。
-
CakePHPの .htaccess設定について
-
phpで別のファイルの変数に代入...
-
use と requireの違いは?
おすすめ情報