Windows のコマンド プロンプトから .LNK ショートカットを解析するにはどうすればよいですか?

Windows のコマンド プロンプトから .LNK ショートカットを解析するにはどうすればよいですか?

フォルダーへのショートカットがあり、それをコマンド プロンプトから開きたいのですが、コマンド プロンプトをショートカットのターゲットの場所にすぐに変更したいのですが、コマンド プロンプトでショートカットを実行しようとすると、Windows エクスプローラーでフォルダーが開かれるだけです。

コマンドプロンプトからショートカットファイル (.LNK) を解析し、ショートカットのターゲットフォルダーに切り替えるにはどうすればよいですか?

答え1

CMD を起動すると、C:\Users\dave> が表示されますが、cd ../../ を押さずに C:\wamp\www にディレクトリを変更したいです。そこで、「dave」フォルダに「www」フォルダのショートカットを作成しました。

これは典型的なXY問題CMD を常にデフォルトではなく特定のディレクトリで開くようにしたい場合は、ショートカットのプロパティを次のように変更するだけです。

ここに画像の説明を入力してください

Windows 7では、コマンドプロンプトのショートカットは通常 にありますStart Menu > All Programs > Accessories。ショートカットを右クリックして「プロパティ」を選択し、で開始お好みに合わせてフィールドを選択してください。


たとえば、次のようなバッチファイルを作成することもできます。d.バット1行だけ含まれていますcd /d c:\wamp\www。バッチファイルをパスのどこかに置き、CMDを開いて次のように入力するだけです。d特定のディレクトリに変更します。同様の解決策は他にもたくさんあります。


コマンドプロンプトからショートカット(.LNK)ファイルを解析することに固執している場合は、次のファイルをパースリンク.batコマンドプロンプトから次のように実行しますParseLnk <LNK File>

@echo off
echo set WshShell = WScript.CreateObject("WScript.Shell")>Tmp.vbs
echo set Lnk = WshShell.Createshortcut(WScript.Arguments(0))>>Tmp.vbs
echo WScript.Echo Lnk.TargetPath>>Tmp.vbs
for /f "delims=" %%d in ('cscript //nologo Tmp.vbs "%~1"') do del Tmp.vbs & cd /d "%%d"

答え2

私と同じように、コマンド プロンプトのみを使用して .lnk ファイルを解読したいという人がこの質問にたどり着いた場合は、次を試してください。

type mylink.lnk|find "\"

答え3

問題は、.lnk ファイルが、docx ファイルが Word などで処理されるのと同じように、Explorer.exe などのプログラムによって解釈される文書であるという点だと思います。lnk ファイルを解析して cd コマンドを実行するには、何らかのスクリプトを作成する必要があります。

PowerShell (コマンド プロンプトではなく) では、組み込み、サードパーティ、または自分で作成したコマンドレットを使用して、必要な操作を実行できる可能性がありますが、わかりません。

答え4

次のような項目を挿入することで、レジストリに起動スクリプトを設定できます。

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
Autorun REG_EXPAND_SZ <some-path-with-scripts>\msdos-startup.bat

そして、この「msdos-startup.bat」ファイルには、何らかのエイリアスを定義する次のような行を配置します (ここでは、上記の Karan が提供したスクリプトを使用します)。

doskey l=<some-path-with-scripts>\ParseLnk.bat $*

これで、コマンドライン コンソールを開くと、上記のすべてが実行され、次のように入力するだけです。

l some-shortcut.lnk

関連情報