我有一个简单的代码示例,我想循环遍历目录内容:
$path = "C:\Users\BISWAJI\Desktop\Novels"
$content = dir -path $path | where { $_.Mode -match "^d.*" }
foreach ( $item in $content )
{
"Items under the folder $path\$item are :"
dir -path "$path\$item" | select name,mode
}
麻烦的是脚本无法读取foreach循环中的变量$ path。任何人都可以给我任何想法吗?这是正常行为吗?
答案 0 :(得分:0)
您的foreach
命令应如下所示。请注意,您缺少用于打印行的echo
命令,您必须使用;
foreach ( $item in $content ) {"Items under the folder $path\$item are :"; dir -path "$path\$item" | select name,mode }
您也可以使用ForEach-Object
命令行开关
dir -path $path | where { $_.Mode -match "^d.*" }|ForEach-Object {Write-Host "Items under the folder $path\$_ are :"; dir -path "$path\$_" | select name,mode}
答案 1 :(得分:0)
我认为这对您有用,但您的代码在我的系统上正常运行。
dir -path "C:\Users\BISWAJI\Desktop\Novels" | foreach {
if($_.PSIsContainer) {
dir -path $_.Fullname | select name,mode
}
}