【问题标题】:Create multiple subfolders with different parent folders CSV - Powershell使用不同的父文件夹 CSV 创建多个子文件夹 - Powershell
【发布时间】:2023-05-24 19:55:01
【问题描述】:

我正在尝试为不同的父目录创建多个子文件夹。我有一个包含近 700 个文件夹的 CSV 文件。 我的 CSV 中有 4 个列

A列序列号(codigo)

B栏课程(材料)

课程所属的C列教师(facultad)

具有该课程的 D 栏职业 (carrera)

我有以下代码

$materias = Import-Csv C:\Materias.csv

foreach{$EstMaterias in $materias)
{
    $path = "C:\" 
    $codigo = $EstMaterias.codigo
    $materia = $EstMaterias.materia
    $facultad = $EstMaterias.facultad
    $carrera = $EstMaterias.carrera

    New-Item -Path("$path\$facultad\$carrera\$mateira") -Type directory
}

我不确定如何过滤子文件夹,以便在正确的教师和正确的职业中创建职业和课程。使用我现在运行的代码,所有课程都是在院系和所有职业中创建的。

【问题讨论】:

  • 您能否提供一个包含几行(不是整个文件)的示例 csv 以及实际和预期的结果?
  • 这是csv的图片ibb.co/6P9F9Rn
  • 这是应该的样子ibb.co/FbxPmLL
  • 首先 - 请不要将附加信息添加为 cmets。而是将它们添加到您的问题中。第二个 - a picture of code or sample data is not helpful ...
  • 这是 $mateira 类型而不是 $materia 类型吗?

标签: powershell windows-server-2012 windows-server powershell-ise


【解决方案1】:

您没有使用$codigo = $EstMaterias.codigo,并且您在此处输入错误"$path\$facultad\$carrera\$mateira"。您输入的是 $mateira 而不是 $materia

$materias = Import-Csv C:\Materias.csv

$path = "C:"

foreach ($EstMaterias in $materias) {
    $codigo = $EstMaterias.codigo # What is this? You don't use it here.
    $materia = $EstMaterias.materia
    $facultad = $EstMaterias.facultad
    $carrera = $EstMaterias.carrera

    New-Item -Path "$path\$facultad\$carrera\$materia" -Type directory
}

【讨论】:

    最近更新 更多