powershell - 从 csv 中删除路径的项目变量
问题描述
我必须根据 excel 列表删除文件夹,所以我尝试使用 import csv 导入 execl,但它不起作用。导入不会以正确的格式填充变量。这是我尝试使用的代码:
$folders = import-csv G:\Book1.csv foreach ($folder in $folders) {Remove-Item -Path $folder -Recurse -Force}
错误是这样的:删除项目:找不到驱动器。名为“@{Foldername=G”的驱动器不存在。在 line:4 char:5 + Remove-Item -Path $folder -Recurse -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (@{Foldername=G:String) [Remove-Item], DriveNotFoundException + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
删除项目:找不到驱动器。名为“@{Foldername=G”的驱动器不存在。在 line:4 char:5 + Remove-Item -Path $folder -Recurse -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (@{Foldername=G:String) [Remove-Item], DriveNotFoundException + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
删除项目:找不到驱动器。名为“@{Foldername=G”的驱动器不存在。在 line:4 char:5 + Remove-Item -Path $folder -Recurse -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (@{Foldername=G:String) [Remove-Item], DriveNotFoundException + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
在 1.Line 标题中的 CSV 中,第 2-4 行中的文件夹名称是文件夹的名称(a、b、c)。这是 CSV:
文件夹名
G:\Test\a
G:\Test\b
G:\Test\c
目录是 G:\Test\a , b, c
解决方案
我找到了一个解决方案,CSV 文件是一个问题并且导入,所以我不得不修改 CSV 文件:“文件夹名”
“G:\Test\a”
“G:\Test\b”
“G:\Test\c "
powershell 代码现在是这样的:
$folders = import-csv .csv | ForEach-Object {
write-host $($_.Foldername)
Remove-Item -Path $($_.Foldername) -Recurse -Force
}
推荐阅读
- python - 有没有办法在减少 batch_size 的同时减少执行时间?
- java - 反序列化属性值为数组java的json数组
- c# - 过滤下拉列表
- c# - Smartsheet API - 未实现文件夹中的列表工作表?
- android - 房间、线程和插入/删除查询
- sql - 如何在 PostgreSQL 中获取表的每一天的第一个日期并将其转换为 JSON
- javascript - 有没有办法在javascript中的类中定义数组?
- spring - 如何从问号 (?) 之后的 URL Rest Service 获取参数
- apache-spark - 如何在 PySpark 数据框中添加具有备用值的列?
- python - Python SqlAlchemy + MySql 按 JSON 列数据过滤