首页 > 解决方案 > 从 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

标签: powershellvariablespathimport-csv

解决方案


我找到了一个解决方案,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     
 }

推荐阅读