это будет делать то, что вы хотите. однако, это ДЕЙСТВИТЕЛЬНО странный способ справиться с проблемой. он МЕДЛЕННЫЙ, так как он выполняет запись в файл для каждого элемента ИЛИ запись в экран для каждого элемента, если он включен. сохранение в $ Var и последующая запись в файл и / или на экран будет намного быстрее . [ ухмылка ]
этот код расширяет вашу последнюю строку в вызов ForEach-Object
с if
для проверки выходного адреса. он также добавляет -ErrorAction
к вызову Get-ChildItem
для обработки ошибок «недоступный файл».
также удаляет ненужные $()
в строках expression =
.
$directory = $env:TEMP
$outpath = "$env:TEMP\GustavRasmussen.csv"
# uncomment the 2nd line to test the negative
$ToScreen = $True
#$ToScreen = $False
Get-ChildItem $directory -Recurse -File -ErrorAction SilentlyContinue |
Select-Object @{name='Folder_Name';expression={$_.directoryname}},
@{name='File_type';expression={$_.extension}},
@{name='File_name';expression={$_.name}},
@{name='File_size_bytes';expression={$_.length}},
@{name='Creation_datetime';expression={$_.creationtime}},
@{name='Last_update_datetime';expression={$_.lastwritetime}},
@{name='Last_read_datetime';expression={$_.lastaccesstime}} |
ForEach-Object {
if ($ToScreen)
{
$_
}
else
{
Export-Csv -InputObject $_ -path $outpath -NoTypeInformation -force -Delimiter ';' -Append
}
}
первые три строки CSV ...
"Folder_Name";"File_type";"File_name";"File_size_bytes";"Creation_datetime";"Last_update_datetime";"Last_read_datetime"
"C:\Temp";".tmp";"DELCD3A.tmp";"861968";"2019-07-13 11:43:18 PM";"2019-07-13 11:42:36 PM";"2019-07-13 11:43:18 PM"
"C:\Temp";".txt";"FXSAPIDebugLogFile.txt";"0";"2015-11-03 6:54:02 PM";"2015-11-03 6:54:02 PM";"2015-11-03 6:54:02 PM"
"C:\Temp";".log";"Genre-List_2019-10-01.log";"178";"2019-10-01 12:33:47 PM";"2019-10-01 12:33:47 PM";"2019-10-01 12:33:47 PM"
первые три строки вывода на экран ...
Folder_Name : C:\Temp
File_type : .tmp
File_name : DELCD3A.tmp
File_size_bytes : 861968
Creation_datetime : 2019-07-13 11:43:18 PM
Last_update_datetime : 2019-07-13 11:42:36 PM
Last_read_datetime : 2019-07-13 11:43:18 PM
Folder_Name : C:\Temp
File_type : .txt
File_name : FXSAPIDebugLogFile.txt
File_size_bytes : 0
Creation_datetime : 2015-11-03 6:54:02 PM
Last_update_datetime : 2015-11-03 6:54:02 PM
Last_read_datetime : 2015-11-03 6:54:02 PM
Folder_Name : C:\Temp
File_type : .log
File_name : Genre-List_2019-10-01.log
File_size_bytes : 178
Creation_datetime : 2019-10-01 12:33:47 PM
Last_update_datetime : 2019-10-01 12:33:47 PM
Last_read_datetime : 2019-10-01 12:33:47 PM