• 締切済み

シンボリックリンクが開けない

親フォルダーに、aフォルダーとbフォルダーが入っています。 aフォルダー配下には、xフォルダーがあり、その中には複数のテキストファイルが入っています。 parent\a\x\test.txt parent\b\ 以下の様なバッチファイルを「送る」に登録しました。 @echo off cd /D %~1\x\ for %%i in (*.*) do ( mklink "..\..\b\%%~nxi" "%%i" ) これにより、aフォルダーを選択して「送る」からバッチファイルを実行すると、bフォルダー配下に、xフォルダー配下のすべてのファイルのシンボリックファイルが貼られました。(シンボリックファイルは作成されました。) しかし、シンボリックファイルを開こうとしても、以下のようなエラーメッセージが表示されて、開けません。 エラーコード 1921 ファイル名を解決できません。 どこを修正すればよいでしょうか。ご教示よろしくお願いします。

みんなの回答

回答No.1

mklinkはカレントディレクトリにリンクファイルを作成する仕様のようです。 MKLINK [[/D] | [/H] | [/J]] リンク ターゲット  /D ディレクトリのシンボリック リンクを作成します。既定では、    ファイルのシンボリック リンクが作成されます。  /H シンボリック リンクではなく、ハード リンクを作成します。  /J ディレクトリ ジャンクションを作成します。   リンク   新しいシンボリック リンク名を指定します。   ターゲット 新しいリンクが参照するパス (相対または絶対)を指定します。 よって mklink a ..\x\b といった形式にしなければなりません。というようにしてください。私はDOSバッチは詳しくありません。

cat-rice
質問者

お礼

回答ありがとうございました。

cat-rice
質問者

補足

先ほど、前回の質問も合わせまして、自己解決しました。 ディレクトリでなく、ファイルのシンボリックリンク作成で成功しました。やはり、mklinkの引数の設定のしかたが原因だったようです。 これでやりたいことがすべて実現できました。ありがとうございました。