【发布时间】:2023-04-09 10:07:01
【问题描述】:
我正在尝试通过我创建的函数循环列表。我想对循环做的是,函数内部的变量:“$huidige_folder”一次填充一个列表中的位置,循环并继续列表中的下一个位置
- 所以列表中的第一项:“C:\Users\Nick\Desktop\Test1”。它用 函数中的这个位置
- 然后是 C:\Users\Nick\Desktop\Test2"。它在 功能
- 然后是 C:\Users\Nick\Desktop\Test3"。它在 功能
但是当我运行代码时,它只会运行列表中第一项的函数。那行得通,它做我想要的。 但在那之后它会停止并且不会为列表中的其他 2 项运行该功能。
我做错了什么?
$path_dagelijkse_controle = "C:\Users\Nick\Desktop\Test1",
"C:\Users\Nick\Desktop\Test2",
"C:\Users\Nick\Desktop\Test3"
function Dagcontrole_folders_maken {($huidige_folder)
$Dagelijkse_controle = "Dagelijkse controle"
$datum_vandaag = $(Get-Date).toString('yyyy-MM-dd')
$jaar = $datum_vandaag.Substring(0,4)
$maand = $datum_vandaag.substring(5, 2)
$dag = (get-date).DayOfWeek
$path_jaar = Get-Item -Path "$huidige_folder\**" -Include *$jaar*
$path_maand = Get-Item -Path "$huidige_folder\$jaar\**" -Include *$maand*
$folder_maand = Get-Date -UFormat "%m - %B"
if ($path_jaar) {
Write-Output "Do Nothing"
}
Else {
md -Path "$huidige_folder\$jaar"
}
if ($path_maand) {
md -Path "$huidige_folder\$jaar\$folder_maand\Dagelijks\$datum_vandaag"
}
Else {
md -Path "$huidige_folder\$jaar\$folder_maand" # Makes the month folder
md -Path "$huidige_folder\$jaar\$folder_maand\Dagelijks\$datum_vandaag" # Makes a folder with current date inside the month folder
}
}
Foreach ($i in $path_dagelijkse_controle) {
Dagcontrole_folders_maken($i)
}
【问题讨论】:
-
将
function Dagcontrole_folders_maken {($huidige_folder)更改为function Dagcontrole_folders_maken ($huidige_folder) { -
您可以使用
md .. -Force大大简化您的代码。
标签: list powershell loops foreach