我写了一个powershell脚本。代码的路径只与我的PC相关。现在相同的代码不能由另一个人在他的机器上执行,因为路径是diff。因此,请让我知道我的代码可以在所有机器上工作的方法。
osh3o9ms1#
这取决于路径。如果它们指向\Program Files中的程序,也许你可以在路径规范中使用环境变量$env:ProgramFiles。你也可以参数化你的脚本,使其路径如下:
\Program Files
param($path) # rest of script ...
注意,param()语句必须是脚本中的第一个非注解行。
param()
2fjabf4q2#
您还可以使用运行脚本时可用的特殊变量$MyInvocation,它可以访问脚本的执行路径等。例如,我使用的一个脚本有这样一行:
$InputCSV = (split-path $myinvocation.mycommand.path) + "\filename.csv"
这意味着无论脚本从何处运行,它都知道从同一个位置获取CSV文件。
2条答案
按热度按时间osh3o9ms1#
这取决于路径。如果它们指向
\Program Files
中的程序,也许你可以在路径规范中使用环境变量$env:ProgramFiles。你也可以参数化你的脚本,使其路径如下:注意,
param()
语句必须是脚本中的第一个非注解行。2fjabf4q2#
您还可以使用运行脚本时可用的特殊变量$MyInvocation,它可以访问脚本的执行路径等。
例如,我使用的一个脚本有这样一行:
这意味着无论脚本从何处运行,它都知道从同一个位置获取CSV文件。