我读入了一个包含多行信息的csv文件,但我的代码只执行csv内容的第一行。如果我只是想用write-host $dataFilesJS
把它打印出来
它可以很好地处理csv文件中的所有内容。但是如果我想执行其他代码,它只需要循环一次。
我的源码:
$CSV= Import-Csv \\test\test.csv -Delimiter ';'
$csvFiles = $CSV
$csvFiles.Count
for($i=0;$i -lt $csvFiles.count;$i++){
$filepathpdf = $csvFiles.filePathPdf[$i]
$filepathattachments = $csvFiles.filePathAttachments[$i]
$dataFilesJS= $csvFiles.dataFilesJS[$i]
$jsonFile= $csvFiles.jsonFile[$i]
$destinationFolderSave=$csvFiles.destinationFolderSave[$i]
$kategorieName=$csvFiles.kategorieName[$i]
New-Item -Path $destinationFolderSave -ItemType Directory
$foldersaves="\_#_"
$sidepaths = New-Object System.Collections.Generic.List[System.Object]
$sidepathsAttachments= New-Object System.Collections.Generic.List[System.Object]
$children = Get-ChildItem $filepathpdf
$childrenAttachments= Get-ChildItem $filepathattachments
$childrensss = Get-ChildItem $filepathpdf/$children
$childrensssAttachments = Get-ChildItem $filepathattachments/$childrenAttachments
for($i=0;$i -le $childrensss.count;$i++){
$sidepaths.add($childrensss[$i])
}
for($i=0;$i -le $childrensssAttachments.count;$i++){
$sidepathsAttachments.add($childrensssAttachments[$i])
}
write-host $sidepathsAttachments
for($i=0;$i -lt $childrensss.count;$i++){
$childrenpath= $filepathpdf+"/"+$children+"/"+$sidepaths[$i]
$pdfchildren = Get-ChildItem $childrenpath
write-host $pdfchildren
Copy-Item $childrenpath/* -Destination $destinationFolderSave -Recurse -force
}
}
发布于 2021-07-26 08:01:20
这个方法对我很有效:
$CSV= Import-Csv \\test\test.csv -Delimiter ';'
$csvFiles = $CSV
$csvFiles.Count
foreach($i in $csvFiles){
$filepathpdf = $i.filePathPdf
$filepathattachments = $i.filePathAttachments
$dataFilesJS= $i.dataFilesJS
$jsonFile= $i.jsonFile
$destinationFolderSave=$i.destinationFolderSave
$kategorieName=$i.kategorieName
New-Item -Path $destinationFolderSave -ItemType Directory
$foldersaves="\_#_"
$sidepaths = New-Object System.Collections.Generic.List[System.Object]
$sidepathsAttachments= New-Object System.Collections.Generic.List[System.Object]
$children = Get-ChildItem $filepathpdf
$childrenAttachments= Get-ChildItem $filepathattachments
$childrensss = Get-ChildItem $filepathpdf/$children
$childrensssAttachments = Get-ChildItem $filepathattachments/$childrenAttachments
for($i=0;$i -le $childrensss.count;$i++){
$sidepaths.add($childrensss[$i])
}
for($i=0;$i -le $childrensssAttachments.count;$i++){
$sidepathsAttachments.add($childrensssAttachments[$i])
}
write-host $sidepathsAttachments
for($i=0;$i -lt $childrensss.count;$i++){
$childrenpath= $filepathpdf+"/"+$children+"/"+$sidepaths[$i]
$pdfchildren = Get-ChildItem $childrenpath
write-host $pdfchildren
Copy-Item $childrenpath/* -Destination $destinationFolderSave -Recurse -force
}
}
https://stackoverflow.com/questions/68525757
复制相似问题