我正在尝试计算远程服务器上文件夹的内容。
我知道:
Get-ChildItem \\ServerName\c$\foldername -recurse | Measure-Object -property length -sum
工作一种享受。
但是,我试图通过用户输入使服务器名称成为变量,但我无法获得接受任何变量的路径。
我正在尝试计算远程服务器上文件夹的内容。
我知道:
Get-ChildItem \\ServerName\c$\foldername -recurse | Measure-Object -property length -sum
工作一种享受。
但是,我试图通过用户输入使服务器名称成为变量,但我无法获得接受任何变量的路径。
这很简单:
$server = Read-Host "Enter server name"
Get-ChildItem \\$server\users -recurse | measure-object length -sum
如果您在 shell 中执行此操作并且想要单行,请尝试以下操作:
Get-ChildItem "\\$(Read-Host)\share" -recurse | Measure-Object length -sum
这不会产生要求输入的消息,但会保存分配给您可能不需要的变量,如果您从 shell 运行它,那么您知道无论如何都需要输入!
双引号也意味着对变量进行评估,因此:
$hello = "Hello World"
Write-Host "$hello"
Hello world
或者正如基思希尔指出的那样:
$hello = "Hello World"
Write-Host $hello
Hello World
由于单引号不会评估变量,所以:
$hello = "Hello World"
Write-Host '$hello'
$hello
因此,如果您使用变量并且路径中有空格,请使用“”。