在PowerShell中将路径设置为变量

在PowerShell中将路径设置为变量,powershell,Powershell,我是PowerShell的新手,我正在寻找一种使脚本更加动态的方法 作为脚本文件中的一个示例,我有这一行 cd C:\Users\Future\Desktop 如何使路径动态。。。?我的意思是让其他使用此脚本文件的人运行它,而不更改此行中的用户名?您可以向脚本添加参数或使用USERPROFILE变量: cd (Join-Path $env:USERPROFILE 'Desktop') 为了扩展@Martin Brandl的答案,我建议采用参数路线。您可以为自己使用设置默认值,同时还允许用户在

我是PowerShell的新手,我正在寻找一种使脚本更加动态的方法 作为脚本文件中的一个示例,我有这一行

cd C:\Users\Future\Desktop

如何使路径动态。。。?我的意思是让其他使用此脚本文件的人运行它,而不更改此行中的用户名?

您可以向脚本添加参数或使用
USERPROFILE
变量:

cd (Join-Path $env:USERPROFILE 'Desktop')

为了扩展@Martin Brandl的答案,我建议采用参数路线。您可以为自己使用设置默认值,同时还允许用户在运行脚本时指定不同的路径。举个小例子:

[CmdletBinding()]
param(
    [string]$Path = "C:\Users\Future\Desktop"
)

Set-Location $Path
如果使用强制参数设置,则每次运行脚本时都需要有人输入路径,这类似于使用
Read Host

[CmdletBinding()]
param(
    [Parameter(Mandatory=$true)]
    [string]$Path
)

Set-Location $Path
您还可以使用其他参数设置进行验证

我建议您在本页中查找有关设置函数的更多信息,因为它描述了可以在参数中使用的许多选项


使用或
$env:USERPROFILE\Desktop
。非常感谢。它很有魅力。最好是这样,我有一行
convert Image.png-resize 300x300-density 300-quality 100 ImageNew.png
,如何将
Image.png
作为变量,从excel中的单元格获取其值。。由于我将从excel VBA中执行此操作,因此我不会进入excel VBA。您可能需要在脚本顶部添加
param($image)
,并在调用它时传递值(ofc,您还必须使用$image而不是image.png)。你可以开始一个新问题。