这是我的第一个PowerShell脚本,我已经讨论了很多主题,但似乎无法找到问题所在。我正在尝试查看是否在“今天”文件夹中创建了具有两个扩展名的文件,并将文件名和日期输出到csv文件中。
我的代码是:
import os, sys, subprocess
DEVNULL = open(os.devnull, 'w')
save = DEVNULL
tick = re.escape("'")
Jcmd = "jexec 1 sh -c '/usr/local/bin/aria2c --quiet=false -x 10 " + re.escape(links[1]) + tick
proc = subprocess.Popen(Jcmd, shell=True)
returncode = proc.wait()
print "RETURN CODE: ", returncode
sys.stdout = save
print "THIS PRINT STATEMENT DOES NOT EXECUTE, PYTHON EXITS BEFORE"
OUTPUT:
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
c28be0|OK | 0B/s|/usr/local/MOUNTPOINTS/_DOWNLOADS/document.pdf
Status Legend:
(OK):download completed.
RETURN CODE: 0
文件被创建,但没有数据被放入其中,即使我在运行代码时在PowerShell窗口中显示了我需要的信息。
答案 0 :(得分:1)
您在|
和Where-Object
cmdlet之间缺少Select-Object
管道:
Get-ChildItem 'PATH' -recurse -include @("*.txt*","*.txt.gz") |
Where-Object { $_.CreationTime -gt (Get-Date).Date } |
Select-Object FullName,
CreationTime,
@{Name="Mbytes";Expression={$_.Length/1Kb}},
@{Name="Age";Expression={(((Get-Date) - $_.CreationTime).Days)}} |
Export-Csv -path 'PATH' -Append
答案 1 :(得分:1)
我在.Date}
之后发现了一个丢失的管道