簡體   English   中英

如何使用PowerShell在所有空文件夾中創建空文件?

[英]How to create empty files in all empty folders using PowerShell?

我想在所有空的子文件夾中創建空的文本文件。 下面的腳本將列出所有空的子文件夾。

$a = Get-ChildItem D:\test -recurse | Where-Object {$_.PSIsContainer -eq $True}
$a | Where-Object {$_.GetFiles().Count -eq 0} | Select-Object FullName

如何遍歷上述命令的輸出並在其中創建空文本文件?

您為自己做出的答案中有很多循環。 我提供了此解決方案,該解決方案將在所有沒有文件的目錄中創建一個空文件(從您的解決方案中可以找到是否有文件夾,所以我會保持這種邏輯。)

Get-ChildItem -Recurse C:\temp | 
        Where-Object {$_.PSIsContainer -and ($_.GetFiles().Count -eq 0)} | 
        ForEach-Object{[void](New-Item -Path $_.FullName -Name "Touch.txt" -ItemType File)}

如果$_.PSIsContainer為false,那么它將不會受到其他檢查文件條件的困擾。 還將New-Item的輸出New-Item為void以停止成功創建所有這些新文件的輸出。

以下代碼對我有用。

$a = Get-ChildItem D:\test -recurse | Where-Object {$_.PSIsContainer -eq $True}
$path = $a | Where-Object {$_.GetFiles().Count -eq 0} | foreach {$_.FullName}
$a | Where-Object {$_.GetFiles().Count -eq 0} | foreach {$_.FullName}|ForEach-Object -Process {New-Item -Path $path -Name "testfile.txt" -Value "Test Value" -ItemType File }

如何確保..這不會在目錄中創建文件,該目錄中包含子目錄。

即,應在沒有文件和子目錄的目錄中創建文件

這對我有用..僅當目錄既沒有子目錄也沒有文件時,它才創建文件

$a = Get-ChildItem C:\tejasoft -recurse | Where-Object {$_.PSIsContainer -eq $True -and ($_.GetDirectories().Count -eq 0)}
$path = $a | Where-Object {$_.GetFiles().Count -eq 0} | foreach {$_.FullName}
$a | Where-Object {$_.GetFiles().Count -eq 0} | foreach {$_.FullName}|ForEach-Object -Process {New-Item -Path $path -Name ".keep" -Value "Test Value" -ItemType File }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM