我有一个简单的Powershell脚本,该脚本从Win'2008R2系统上的Task Scheduler运行,基本上只运行以下命令:
gsutil -o GSUtil:parallel_composite_upload_component_size = 0 cp -L C:\ logs \ log1.txt C:\ archive \ *。zip gs:// temp
我正在使用Start-Transcript将输出记录到results.log文件中。问题是,在将zip文件上传到gcp时,它会在上传过程中每隔64KB记录多行的进度:
Resuming upload for file://E:\db\db1.zip
Uploading gs://temp/db1.zip: 0 B/1.20 GiB
Uploading gs://temp/db1.zip: 98.75 MiB/1.20
Uploading gs://temp/db1.zip: 98.81 MiB/1.20
...and keeps repeating this until it uploads the entire 1.20 GB.
因为然后将result.log文件通过电子邮件发送给一群人,所以我不需要他们看到所有这些垃圾。仅显示其中一行并显示最终文件大小就足够了。
当我使用 powershell.exe -file c:\ scripts \ upload.ps1 从Windows命令提示符(或从本机Powershell)运行命令或脚本时,它会按预期工作,显示单行进度:
Resuming upload for file://E:\db\db1.zip
Uploading gs://temp/db1.zip: 1.20 GiB/1.20 GiB
之前,当我运行不带'-o GSUtil:parallel_composite_upload_component_size = 0'参数的相同命令时,它显示的是相同的长输出,但是一旦我将其添加到gsutil中,我就认为它很好,因为它不会重复PS命令提示符中的许多行都不再显示进度。因此,只有当我从Task Scheduler运行脚本时,这种情况才会发生。
任何想法为什么会发生这种情况以及如何解决?
答案 0 :(得分:1)
有an open feature request in the gsutil repository, issue #481,可在输出定向到非交互式终端时禁用进度条。