【发布时间】:2019-01-28 06:53:15
【问题描述】:
我正在创建一个简单的脚本来删除用户对共享驱动器文件夹的权限。我在 excel 文件中有用户名和共享驱动器文件夹。只有 2 列,1 列用于路径,另一列是用户名。
这是我对脚本所做的工作
$file = "C:\share\LanguagePack\testing.xlsx"
$SheetName = "Sheet1"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $false
$WorkBook = $objExcel.Workbooks.Open($file)
$WorkSheet = $WorkBook.Sheets.Item($SheetName)
$WorkSheetRange = $WorkSheet.UsedRange
$RowCount = $WorkSheetRange.Rows.Count
$ColumnCount = $WorkSheetRange.Columns.Count
for ($num2=1, $num2 -lt $RowCount, $num2++) {
$output = $WorkSheet.cells.Item($num2, 1).text
$output1 = $WorkSheet.cells.Item($num2, 2).text
icacls $output /remove:g $output1 /t
}
但我得到了
无法将“1”与“3 3”进行比较。错误:“无法转换“System.Object[]” “System.Object[]”类型的值以键入“System.Int32”。 在 C:\share\LanguagePack\Untitled1.ps1:26 char:6 + for ($num2=1, $num2 -lt $RowCount, $num2++) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : 比较失败
有什么想法或提示吗?谢谢
【问题讨论】:
-
在
for循环中使用分号;,而不是逗号。 -
是的,没有意识到这一点。谢谢
标签: excel powershell