我创建了一个脚本,用于为客户的服务器准备软件安装。这部分需要脚本以管理员身份运行,因此仅指示人们单击“使用Powershell运行”并不能完成任务。该脚本位于包含多个.ini文件的文件夹中,脚本需要将该文件夹复制到其他服务器位置。如果我只是右键单击Powershell脚本,然后选择“使用Powershell运行”,则可以找到文件并进行复制,而不会出现问题。不幸的是,如果我在ISE中打开该脚本,它将以默认目录C:\ users \ user打开,并且似乎无法复制这些.ini文件,除非先运行change directory命令将我们转到该文件夹。脚本和.ini文件都在其中。但是我希望我们的安装技术人员能够运行此文件,而不必担心他们最初放置这些文件夹的确切位置。我也希望他们不必担心在PowerShell中手动更改目录。我们的一些客户有多个驱动器,将这些东西放在C盘以外的其他驱动器上可能很有意义,因此很难确定此文件夹的最终位置。但是我不确定命令是否可以将我带到* .ps1文件的目录,而无需事先知道该文件在哪里...有人有建议吗?
答案 0 :(得分:2)
您可以使用$PSScriptRoot
,该脚本将具有脚本所在目录的位置。
在以下帖子中对此进行了引用: How can I get the file system location of a PowerShell script?