バッチファイルのシンボリックリンクをExplorerから実行する際にカレントディレクトリをシンボリックリンクのあるディレクトリにする方法

[code]

    @echo off
    cd /d %~dp0
    cd
    pause
    
[/code]

このようなバッチファイルを作成し、このファイルを指すシンボリックリンクを別のフォルダに作成しました。  
コマンドプロンプト上でシンボリックリンクを実行すると期待通りシンボリックリンクのあるディレクトリに移動してそのパスが表示されるのですが、Explorer上でダブルクリックして実行すると実ファイルのあるディレクトリに移動してしまいます。  
２行目の`cd /d
%~dp0`はバッチファイルのあるディレクトリに移動するために（ググッて）書いた物ですが、ファイルがシンボリックリンクの時はシンボリックリンクのあるディレクトリに移動してほしいです。  
どうすればExplorerから実行した時もシンボリックリンクのあるディレクトリに移動してくれるでしょうか？




explorerはsymbolic linkの実体を起動しているようです。 なのでバッチファイル内で解決する方法は無さそうです。

[code]

    [TOF c:\temp\original.cmd] 
    echo off 
    echo %CMDCMDLINE% 
    pause 
    [EOF] 
    
    mklink c:\test\symlink.cmd c:\temp\original.cmd 
    explorer c:\test\symlink.cmd 
    
    C:\windows\system32\cmd.exe /c ""c:\temp\original.cmd" " 
    続行するには何かキーを押してください . . . 
    
[/code]

もう一段batchファイルをかますとかトリッキーな事をやると何とかなるかもしれませんが綺麗じゃないですねぇ




explorerはsymbolic linkの実体を起動しているようです。 なのでバッチファイル内で解決する方法は無さそうです。

[code]

    [TOF c:\temp\original.cmd] 
    echo off 
    echo %CMDCMDLINE% 
    pause 
    [EOF] 
    
    mklink c:\test\symlink.cmd c:\temp\original.cmd 
    explorer c:\test\symlink.cmd 
    
    C:\windows\system32\cmd.exe /c ""c:\temp\original.cmd" " 
    続行するには何かキーを押してください . . . 
    
[/code]

もう一段batchファイルをかますとかトリッキーな事をやると何とかなるかもしれませんが綺麗じゃないですねぇ

