如何在Powershell中建立相对于工作目录的符号链接,而不是相对于路径(不更改我的工作目录)
在 GNU/linux 命令中我可以这样做
ln -s -r ./change/99.md ./abuse/change/99.md
导致
.
├── abuse
│ └── change
│ └── 99.md -> ../../change/99.md
└── change
└── 99.md
所以这在 Powershell 7.1 中不起作用
New-Item -ItemType SymbolicLink -Path ".\abuse\change\99.md" -Target ".\change\99.md"
虽然 PowerShell(核心)7 - 与 Windows PowerShell(旧版、随 Windows 一起提供、仅限 Windows 的 PowerShell 版本,其最新和最后一个版本为 5.1) - 支持 存储 相对目标路径 例如在符号链接(符号链接)中,您 需要将它们 显式 传递给
New-Item
cmdlet 的 -Target
参数。
相比之下(至少从 PowerShell 7.4.x 开始),
New-Item
不提供类似于 GNU ln
的 -r
选项的参数,其中目标的相对路径是 相对于链接本身的位置,从创建时给定的一个推断出。
因此,请自行确定所需的相对路径,并直接将其作为链接目标传递:
New-Item -ItemType SymbolicLink .\abuse\change\99.md -Target ..\..\change\99.md