フォルダへのショートカットがあり、コマンドプロンプトから開きたいのですが。コマンドプロンプトをショートカットのターゲットの場所にすぐに変更したい。代わりに、コマンドプロンプトでショートカットを実行しようとすると、Windowsエクスプローラーでフォルダーが開きます。
コマンドプロンプトからショートカットファイル(.LNK)を解析して、ショートカットのターゲットフォルダーに切り替えるにはどうすればよいですか?
CMDを起動すると、C:\ Users\dave>が表示されますが、cd ../../を押さずにディレクトリをC:\ wamp\wwwに変更したいと思います。そこで、「dave」フォルダに「www」フォルダのショートカットを作成しました。
これは典型的な X-Y問題 です。 CMDをデフォルトではなく常に特定のディレクトリで開きたい場合は、ショートカットのプロパティを次のように変更するだけです。
Windows 7では、コマンドプロンプトのショートカットは通常Start Menu > All Programs > Accessories
にあるため、ショートカットを右クリックして[プロパティ]を選択し、開始を編集します。お好みのフィールド。
たとえば、d.batという名前のバッチファイルを作成して、1行のcd /d c:\wamp\www
を含めることもできます。バッチファイルをパスのどこかに配置すると、CMDを開き、dと入力して特定のディレクトリに移動するだけです。同様のソリューションは他にもたくさんあります。
コマンドプロンプトからショートカット(.LNK)ファイルを解析することに完全に固執している場合は、以下をParseLnk.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"
問題は、.lnkファイルがプログラム(Explorer.exe)によって解釈されるドキュメントであると思います。これは、docxファイルがWordなどで処理されるのと同じです。 lnkファイルを解析してcdコマンドを実行するには、なんらかのスクリプトを作成する必要があります。
組み込み、サードパーティ、または自分で作成できるコマンドレットを使用して、PowerShellで(コマンドプロンプトではなく)必要な操作を実行できる可能性がありますが、わかりません。
私のように誰かがこの質問にたどり着き、コマンドプロンプトのみを使用して.lnkファイルを解読したい場合は、次のことを試してください。
type mylink.lnk|find "\"