powershell - Foreach 使用 if/else 检查文件内容
问题描述
我正在尝试创建一个脚本,该脚本采用具有计算机名称的文件并检查是否在共享上为它们创建了一个文件夹。我在下面创建的脚本已损坏,并为文件中的每一行返回 true。foreach 的原因是要在输出中列出文件夹名称。有什么建议么?
$computer=Get-Content -path 'C:\comp.csv'
foreach ($comp in $computer) {
$path= Test-path '\\UNC_folder_path\'
if ($path -eq $True) {Write-host "$comp = Success"}
Else {Write-host "$comp = Failure"}
}
解决方案
在您的循环中,您总是在测试相同的 '\UNC_folder_path\' 路径。
如果您想查看是否创建了该路径中的文件夹,Clev 命题似乎很好。假设您的 csv 文件仅包含计算机名称
CSV 文件:
cpu1
cpu2
你的脚本:
$computer=Get-Content -path 'C:\comp.csv'
foreach ($comp in $computer) {
$path= Test-path '\\UNC_folder_path\$comp' #or $path= Test-path '\\UNC_folder_path\$_'
if ($path -eq $True) {Write-host "$comp = Success"}
Else {Write-host "$comp = Failure"}
}
推荐阅读
- numpy - 查找numpy数组中列最大值的索引但删除前一个最大值
- javascript - 在 apex/salesforce 中使用删除按钮上传块/多部分中的文件
- java - 如何处理CannotCreateTransactionException
- python - GPU 和“jax”性能之谜
- java - 二维数组填充 | ArrayIndexOutOfBoundsException 错误
- ssl - CKAN ON HTTPS ERR_SSL_PROTOCOL_ERROR
- javascript - React Array TypeError:无法读取未定义的属性(读取“长度”)
- solr - 您如何在 Solr 集合中自动缩放副本(即添加更多副本)?
- javascript - 如何让机器人向指定用户发送 DM?
- firebase - 来自活动的 React Native firebase 分析应用程序安装跟踪