web-dev-qa-db-ja.com

MKLinkはポータブルリンクを作ることができますか?

MkLinkを使用してNTFSでポータブルリンクを作成する方法はありますか?またはそれはより良い解決策がありますか?

Zipファイルまたはフォルダコピーにアプリケーションを配布できるようになりたい場合は、次のように表示されます。

C:\Temp\link test\source>dir
 Volume in drive C is OS

 Directory of C:\Temp\link test\source

19/05/2014  11:35    <DIR>          .
19/05/2014  11:35    <DIR>          ..
19/05/2014  11:35    <SYMLINK>      OldService.exe [NewService.exe]
19/05/2014  11:32                 9 NewService.exe
 _

それをコピーした場合、それはうまくいきません。

元のファイルの2つのコピーを手に入れるだけです。 configがsyncから抜けないように、設定ファイルもリンクされている必要があります(.exe.config)。

ポータブルリンクを作る方法はありますか?

3
RoboJ1M

シンボリックリンクは、NTFSファイルシステム構造の機能です。 ZIPファイルは私が知っている限りこの機能を持っていません。したがって、これをzipファイルに配布する必要がある場合は機能しません。

ただし、リンクを作成するコンテンツを解凍した後に実行したバッチファイルを作成できますが、BatchFileを管理者として実行する必要があることに注意する必要があります。

1
LPChip

7 ZIPツールを使用して、シンボリックリンクまたはハードリンクをアーカイブすることができますが、tarファイルを使用しているだけです。

# symlink
7z a -snl c.tar a.txt b.txt
# hard link
7z a -snh c.tar a.txt b.txt
# extract
7z x c.tar
 _

https://7-zip.org/download.html

BSDTARツールを使用して、SymlinksとHard Linksをtarファイルまたはzipファイルでシンボリックリンクをアーカイブできます。

# tar
bsdtar -c -f c.tar a.txt b.txt
bsdtar -x -f c.tar
# Zip
bsdtar -a -c -f c.Zip a.txt b.txt
bsdtar -x -f c.Zip
 _

https://github.com/libarchive/libarchive/ctionions/runs/54958649

しかし、ZIPファイルを作成した場合、それらは同じツールで抽出する必要があります。 Windowsエクスプローラで抽出すると、リンクが破損します。

0
Steven Penny