制作PowerShell';让我们开始更紧凑的对话
我使用PowerShell在目录中导航,并在到达符合特定条件的文件时记录当前文件路径。在我的示例中,它是一个以2开头的文件,后面有两个数字:制作PowerShell';让我们开始更紧凑的对话,powershell,cmd,Powershell,Cmd,我使用PowerShell在目录中导航,并在到达符合特定条件的文件时记录当前文件路径。在我的示例中,它是一个以2开头的文件,后面有两个数字: Start-Transcript -path C:\test.txt Get-ChildItem -recurse | Where-Object {$_.Name -match "2\d\d"} Stop-Transcript 在切换到PowerShell之前,我只是使用命令行 dir*2???*.doc/b/s/A:-D>C:\test.txt 它收集
Start-Transcript -path C:\test.txt
Get-ChildItem -recurse | Where-Object {$_.Name -match "2\d\d"}
Stop-Transcript
在切换到PowerShell之前,我只是使用命令行
dir*2???*.doc/b/s/A:-D>C:\test.txt
它收集了一堆我不想要的东西。但是,此命令的好处是,我的文本文件很紧凑,每个文件的整个文件路径都在一行上:
C:\folder1\234.doc
C:\folder1\folder2\235.doc
Powershell中的转录功能要大得多:
Start time: 20170512141758
...
**********************
Transcript started, output file is C:\test.txt
Directory: C:\folder1
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12-May-17 14:07 0 234.doc
Directory: C:\folder1\folder2
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12-May-17 14:05 0 235.doc
**********************
Windows PowerShell transcript end
End time: 20170512141758
**********************
如何使我的PowerShell成绩单与命令行成绩单一样紧凑?将您直接输出到
输出文件
,而不是使用开始成绩单
:
Get-ChildItem -Recurse | Where-Object {$_.Name -match "2\d\d"} |Select -Expand FullName |Out-File C:\test.txt
Where Object
之后的Select
(别名为Select Object
)命令确保我们只在输出文件中获取完整的文件路径,而不是使用Start Transcript
Get-ChildItem -Recurse | Where-Object {$_.Name -match "2\d\d"} |Select -Expand FullName |Out-File C:\test.txt
Where Object
之后的Select
(别名为Select Object
)命令确保我们只在输出文件中获得完整的文件路径,感谢您的快速响应!但是-Expand参数做什么呢?获取帮助选择对象-FullWow,感谢您的快速响应!但是-Expand参数做什么呢?获取帮助选择对象-Full