我试图在当前目录中输出一个CSV,但是在一个与$ComputerName匹配的文件夹中,该文件夹已经存在。我经常这样做的机器列表,而不是手动放在他们的文件夹,这将是很棒的,在脚本中这样做。
下面是当前的代码,写到脚本目录。
#writing file to
[Environment]::CurrentDirectory = (Get-Location -PSProvider FileSystem).ProviderPath
Write-Host ("Saving CSV Files at " + [Environment]::CurrentDirectory + " Named the following.")
Write-Host $PritnersFilename我尝试过将$ComputerName添加到不同的位置,但都没有成功。
示例:
Write-Host ("Saving CSV Files at " + [Environment]::CurrentDirectory\$ComputerName + " Named the following.")
Write-Host ("Saving CSV Files at " + [Environment]::(CurrentDirectory\$ComputerName) + " Named the following.")编辑:$ComputerName是目标的变量,而不是本地主机
发布于 2018-03-01 17:14:48
如果我能看到整个代码就更容易了。但我举了一个例子,因为我觉得这样解释会更容易,因为我不知道你从哪里得到变量。
非常直接地向前,它遍历计算机,如果当前文件夹中没有一个名为$computername的文件夹,它将创建一个文件夹。然后导出代码将计算机数据导出到我们刚刚创建的文件夹中。
关键部分:使用".\“的与当前文件夹相同。
cd C:\Scriptfolder\
# computer variables for example
$computers = @()
$computers += "HOST1"
$computers += "HOST2"
$computers += "HOST3"
# looping through all objects
Foreach($computer in $computers){
# creating folder named after computername if one doesn't exist
if(!(Test-Path ".\$computer")){
New-Item -ItemType Directory -Name $computer -Path ".\"
}
# output path with computername in it
$outputpath = ".\$computer\output.csv"
# your export code
$computer | Export-CSV $outputpath
}https://stackoverflow.com/questions/49054930
复制相似问题