Powershell 变量 - 如果它正在接收输入则详细
Powershell variable - verbose if it is receiving input
我创建了一个脚本,使用 PowerShell 压缩超过 N 天的文件。
像这样:
param (
$dirPath, `
[int] $daysAgo, `
$logOutput=$dirPath+"\old_reports.log", `
$fileExt
)
$curDate = Get-Date
$timeAgo = ($curDate).AddDays($daysAgo)
$files = Get-ChildItem -Recurse `
-Path $dirPath `
-Include *.$fileExt| `
Where-Object { $_.LastWriteTime -lt $timeAgo } | `
Select -ExpandProperty FullName
& 'C:\Program Files-ZipZ.exe' a -t7z -mx9 old_reports.7z $files -bb1 -sdel
echo $files > $logOutput
它正在运行,但是,由于有很多文件,需要一段时间才能填充 $files
变量。这样做时,提示仅显示闪烁的光标。因此,我不知道脚本是否真的在执行某些操作,或者它是否因意外点击而暂停。
有没有办法显示 $files
变量正在接收输入?
如果不重组您的命令 - 从而牺牲性能 - 我只看到一个选项:
除了捕获变量 $files
中的 file-info 对象外,还将它们打印到显示器上,您可以借助 common -OutVariable
parameter:
# Output the files of interest *and* capture them in
# variable $files, via -OutVariable
Get-ChildItem -Recurse `
-Path $dirPath `
-Include *.$fileExt| `
Where-Object { $_.LastWriteTime -lt $timeAgo } | `
Select -ExpandProperty FullName -OutVariable files
我创建了一个脚本,使用 PowerShell 压缩超过 N 天的文件。 像这样:
param (
$dirPath, `
[int] $daysAgo, `
$logOutput=$dirPath+"\old_reports.log", `
$fileExt
)
$curDate = Get-Date
$timeAgo = ($curDate).AddDays($daysAgo)
$files = Get-ChildItem -Recurse `
-Path $dirPath `
-Include *.$fileExt| `
Where-Object { $_.LastWriteTime -lt $timeAgo } | `
Select -ExpandProperty FullName
& 'C:\Program Files-ZipZ.exe' a -t7z -mx9 old_reports.7z $files -bb1 -sdel
echo $files > $logOutput
它正在运行,但是,由于有很多文件,需要一段时间才能填充 $files
变量。这样做时,提示仅显示闪烁的光标。因此,我不知道脚本是否真的在执行某些操作,或者它是否因意外点击而暂停。
有没有办法显示 $files
变量正在接收输入?
如果不重组您的命令 - 从而牺牲性能 - 我只看到一个选项:
除了捕获变量 $files
中的 file-info 对象外,还将它们打印到显示器上,您可以借助 common -OutVariable
parameter:
# Output the files of interest *and* capture them in
# variable $files, via -OutVariable
Get-ChildItem -Recurse `
-Path $dirPath `
-Include *.$fileExt| `
Where-Object { $_.LastWriteTime -lt $timeAgo } | `
Select -ExpandProperty FullName -OutVariable files