こんにちは。
今、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ランキング
-
別のドメインのファイルをrequire
-
Fatal error: Class 'Config' n...
-
HTMLに埋め込んだPHPがうまく出...
-
phpのファイルのファイルの読み...
-
URLが.PHPってどういう...
-
.phpと.incファイルの違いはな...
-
PHPでMySQLに格納したファイル...
-
【PHP】絶対パスで読み込みたい...
-
【file_exists】ファイルが存在...
-
phpで複数のファイルをdlさせる...
-
Xamppでindex.phpだけしか表示...
-
apache+phpにおいてリクエスト...
-
こちらはただの直列処理ですか?
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
form actionで二つ送信先を指定...
-
シェルスクリプトからphpファイ...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
存在しないメールアドレスかど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
URLが.PHPってどういう...
-
HTMLに埋め込んだPHPがうまく出...
-
PHPファイルの中身が見られるこ...
-
PHPの戻り値をWINDOWSバッチフ...
-
別のドメインのファイルをrequire
-
PHPを使ってのサーバ上ファイル...
-
htmlspecialcharsが機能してい...
-
PHP+MySQL SQL文を外部ファイル...
-
サーバー間のファイルの移動(コ...
-
phpinfoの内容が見れない
-
サイトのphpソースコードを表示...
-
さくらレンタルサーバーでPHPが...
-
PHPからCronを編集したい
-
use と requireの違いは?
-
htdocsフォルダ以外ではPHP...
-
phpファイルを見られないように...
-
thtmlファイルとはどんなファイ...
おすすめ情報