将目录更改为包含 PowerShell 脚本的文件夹 - 无论该文件夹位于何处

Change Directory to Folder Containing PowerShell Script - Regardless of Where That Folder Is Located

我创建了一个脚本来为我们客户的服务器安装软件做准备。这部分要求脚本 运行 作为管理员,因此仅指示人们单击 "Run With Powershell" 并不能完成工作。该脚本位于一个包含许多 .ini 文件的文件夹中,脚本需要将这些文件复制到不同的服务器位置。如果我只是右键单击 Powershell 脚本并 select "Run With Powershell," 它能够找到文件并毫无问题地复制它们。不幸的是,如果我在 ISE 中打开脚本,它会以 C:\users\user 的默认目录打开,而且我似乎无法复制那些 .ini 文件,除非先 运行 将更改目录命令更改为让我们进入脚本和 .ini 文件所在的文件夹。但我希望我们的安装技术人员能够 运行 这而不必担心他们最初将这些文件夹放置在何处的确切位置。我还希望他们不必担心在 PowerShell 中手动更改目录。我们的一些客户有多个驱动器,将这些东西放在 C 驱动器以外的其他东西上可能是有意义的,因此很难说出这个文件夹最终会在哪里。但是我不确定是否有命令可以让我进入 *.ps1 文件的目录,而事先不知道该文件在哪里...有人有建议吗?

您可以使用 $PSScriptRoot,它将具有脚本所在目录的位置。

下面post引用了这个: How can I get the file system location of a PowerShell script?