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