使用 powershell 获取目录列表。使用创建和修改的列
Get list of a directory with powershell. With Created and Modified columns
我有这个代码:
Get-ChildItem -recurse | fl name, creationtime, lastwritetime
我得到的结果是:
Name : name.exe
CreationTime : 18-Dec-21 13:15:16
LastWriteTime : 18-Dec-21 13:15:17
Name : name.txt
CreationTime : 24-Dec-21 13:15:44
LastWriteTime : 24-Dec-21 13:27:43
Name : name.png
CreationTime : 12-Dec-21 23:55:48
LastWriteTime : 12-Dec-21 23:55:49
Name : name.csv
CreationTime : 24-Dec-21 14:15:19
LastWriteTime : 24-Dec-21 14:15:19
Name : name.csv
CreationTime : 24-Dec-21 14:16:41
LastWriteTime : 24-Dec-21 14:31:49
Name : name.csv
CreationTime : 24-Dec-21 14:08:07
LastWriteTime : 24-Dec-21 14:08:07
Name : name.csv
CreationTime : 17-Dec-21 14:02:42
LastWriteTime : 17-Dec-21 14:02:42
我想从命令行将列表格式化为 table。所以我尝试使用此代码:
Get-ChildItem -recurse | ft name, creationtime, lastwritetime
但我却得到了垃圾结果。太垃圾了,我什至无法重新创建它,那是因为文件名中有很多字符。
如果我对名称中字符较少的文件使用相同的代码,我可以获得像这样的文件列表:
Name CreationTime LastWriteTime
---- ------------ -------------
name.txt 24-Dec-21 14:57:04 24-Dec-21 14:57:04
name.txt 24-Dec-21 13:15:44 24-Dec-21 13:27:43
name.csv 24-Dec-21 14:15:19 24-Dec-21 14:15:19
name.csv 24-Dec-21 14:16:41 24-Dec-21 14:31:49
name.csv 24-Dec-21 14:08:07 24-Dec-21 14:08:07
我的问题是如何在命令行选项中设置缩短名称。可选择使用字符过滤器。
谢谢。
您可以使用格式 table 来设置您希望如何显示输出。这是一个示例,您可以根据自己的需要使用和调整。
Clear-Host
$fmtGCI = @{Expression={$_.Name};
Label="File Name";Width=50;Align="Left"},
@{Expression={$_.CreationTime.Date.ToString("yyyy-MM-dd")};
Label="Creation";Width=10},
@{Expression={$_.LastWriteTime.Date.ToString("yyyy-MM-dd")};
Label="Modified";Width=10}
Get-ChildItem -Path 'G:\BEKDocs\ACTS\Communications Committee\K4Training App' |
FT $fmtGCI
注意:为文件名设置较短的宽度只会将其截断,因此请谨慎设置。
当然,如果需要,您可以添加更多项目,例如文件时间。您还可以将名称分解为 Basename 和 Ext.
示例输出:
File Name Creation Modified
--------- -------- --------
Videos 2021-12-16 2021-12-21
Bruce Edit.png 2021-10-04 2021-10-04
Bruce interests.png 2021-10-04 2021-10-04
Dining Chophouse menus.png 2021-10-04 2021-10-04
Dining desert menu.png 2021-10-04 2021-10-04
Directory Fitness search.png 2021-10-04 2021-10-04
Directory Gardening search.png 2021-10-04 2021-10-04
我不能接受 RetiredGeek 的 post 作为答案,但我可以一半接受这里的答案。
它是一半(或超过 80% 的正确答案),因为我知道要改变什么才能得到我想要的 wanted/nedded。
我的主要范围是在 mm[=36 级别上获得 Created 和 Modified 之间的差异=] 和 ss.
拿他的代码修改:
@{Expression={$_.CreationTime.Date.ToString("yyyy-MM-dd")};
Label="Creation";Width=10},
有:
@{Expression={$_.CreationTime.ToString("yyyy-MM-dd HH:mm:ss")};
Label="Creation";Width=20},
所以现在代码如下所示:
Clear-Host
$fmtGCI = @{Expression={$_.Name};
Label="File Name";Width=50;Align="Left"},
@{Expression={$_.CreationTime.ToString("yyyy-MM-dd HH:mm:ss")};
Label="Creation";Width=20},
@{Expression={$_.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss")};
Label="Modified";Width=20}
Get-ChildItem -Path 'D:\+\_+_21 2021' | FT $fmtGCI
我得到的是:
File Name Creation Modified
--------- -------- --------
Testing1 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 03:19:23 2021-12-31 03:19:23
Testing2 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 04:07:07 2021-12-31 04:07:07
Testing3 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 06:05:33 2021-12-31 06:05:33
Testing4 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 07:21:24 2021-12-31 07:21:24
Testing5 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 08:35:48 2021-12-31 08:35:48
非常感谢@RetiredGeek
祝你新年快乐 :)
我有这个代码:
Get-ChildItem -recurse | fl name, creationtime, lastwritetime
我得到的结果是:
Name : name.exe
CreationTime : 18-Dec-21 13:15:16
LastWriteTime : 18-Dec-21 13:15:17
Name : name.txt
CreationTime : 24-Dec-21 13:15:44
LastWriteTime : 24-Dec-21 13:27:43
Name : name.png
CreationTime : 12-Dec-21 23:55:48
LastWriteTime : 12-Dec-21 23:55:49
Name : name.csv
CreationTime : 24-Dec-21 14:15:19
LastWriteTime : 24-Dec-21 14:15:19
Name : name.csv
CreationTime : 24-Dec-21 14:16:41
LastWriteTime : 24-Dec-21 14:31:49
Name : name.csv
CreationTime : 24-Dec-21 14:08:07
LastWriteTime : 24-Dec-21 14:08:07
Name : name.csv
CreationTime : 17-Dec-21 14:02:42
LastWriteTime : 17-Dec-21 14:02:42
我想从命令行将列表格式化为 table。所以我尝试使用此代码:
Get-ChildItem -recurse | ft name, creationtime, lastwritetime
但我却得到了垃圾结果。太垃圾了,我什至无法重新创建它,那是因为文件名中有很多字符。
如果我对名称中字符较少的文件使用相同的代码,我可以获得像这样的文件列表:
Name CreationTime LastWriteTime
---- ------------ -------------
name.txt 24-Dec-21 14:57:04 24-Dec-21 14:57:04
name.txt 24-Dec-21 13:15:44 24-Dec-21 13:27:43
name.csv 24-Dec-21 14:15:19 24-Dec-21 14:15:19
name.csv 24-Dec-21 14:16:41 24-Dec-21 14:31:49
name.csv 24-Dec-21 14:08:07 24-Dec-21 14:08:07
我的问题是如何在命令行选项中设置缩短名称。可选择使用字符过滤器。
谢谢。
您可以使用格式 table 来设置您希望如何显示输出。这是一个示例,您可以根据自己的需要使用和调整。
Clear-Host
$fmtGCI = @{Expression={$_.Name};
Label="File Name";Width=50;Align="Left"},
@{Expression={$_.CreationTime.Date.ToString("yyyy-MM-dd")};
Label="Creation";Width=10},
@{Expression={$_.LastWriteTime.Date.ToString("yyyy-MM-dd")};
Label="Modified";Width=10}
Get-ChildItem -Path 'G:\BEKDocs\ACTS\Communications Committee\K4Training App' |
FT $fmtGCI
注意:为文件名设置较短的宽度只会将其截断,因此请谨慎设置。
当然,如果需要,您可以添加更多项目,例如文件时间。您还可以将名称分解为 Basename 和 Ext.
示例输出:
File Name Creation Modified
--------- -------- --------
Videos 2021-12-16 2021-12-21
Bruce Edit.png 2021-10-04 2021-10-04
Bruce interests.png 2021-10-04 2021-10-04
Dining Chophouse menus.png 2021-10-04 2021-10-04
Dining desert menu.png 2021-10-04 2021-10-04
Directory Fitness search.png 2021-10-04 2021-10-04
Directory Gardening search.png 2021-10-04 2021-10-04
我不能接受 RetiredGeek 的 post 作为答案,但我可以一半接受这里的答案。
它是一半(或超过 80% 的正确答案),因为我知道要改变什么才能得到我想要的 wanted/nedded。
我的主要范围是在 mm[=36 级别上获得 Created 和 Modified 之间的差异=] 和 ss.
拿他的代码修改:
@{Expression={$_.CreationTime.Date.ToString("yyyy-MM-dd")};
Label="Creation";Width=10},
有:
@{Expression={$_.CreationTime.ToString("yyyy-MM-dd HH:mm:ss")};
Label="Creation";Width=20},
所以现在代码如下所示:
Clear-Host
$fmtGCI = @{Expression={$_.Name};
Label="File Name";Width=50;Align="Left"},
@{Expression={$_.CreationTime.ToString("yyyy-MM-dd HH:mm:ss")};
Label="Creation";Width=20},
@{Expression={$_.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss")};
Label="Modified";Width=20}
Get-ChildItem -Path 'D:\+\_+_21 2021' | FT $fmtGCI
我得到的是:
File Name Creation Modified
--------- -------- --------
Testing1 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 03:19:23 2021-12-31 03:19:23
Testing2 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 04:07:07 2021-12-31 04:07:07
Testing3 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 06:05:33 2021-12-31 06:05:33
Testing4 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 07:21:24 2021-12-31 07:21:24
Testing5 Testiy Noname1 #Serie - 'Fileyx filexx... 2021-12-31 08:35:48 2021-12-31 08:35:48
非常感谢@RetiredGeek
祝你新年快乐 :)