我有一个可以显示文件路径的脚本,有些属性无法显示,例如修改日期,创建日期,所有者。
@ECHO off
SET v1=%%~dpF
SET v2=%%~nxF
(for /r %%F in (*) do @echo "%v1%","%v2%"
pause
Example Output :
- D:/newfolder1/tester.doc | 18/02/2016 01:30:00 | 16/02/2016 02:13:12 | Nickolas
- D:/newfolder2/tester2.doc | 11/03/2016 01:30:00 | 12/02/2016 02:13:12 | Marx Timberlack
- D:/newfolder3/tester3.doc | 18/02/2016 01:30:00 | 16/02/2016 02:13:12 | Administrators
基本上我想添加第4个参数,它应该显示文件所有者。它在Windows 7环境中。
答案 0 :(得分:1)
正如Klitos Kyriacou的评论中提到的,PowerShell可以做到这一点:
PARAM (
$Path = 'C:\Users\MarxHood\Desktop\', $Report = 'C:\Users\MarxHood\Output.csv'
)
$Owner = @{
Name = 'FileOwner'
Expression = { ((Get-Acl $_.FullName).Owner).Split('\')[1] }
}
Get-ChildItem -Path $Path -Recurse | Select FullName, LastWriteTime, CreationTime, $Owner | Export-Csv -NoTypeInformation -Delimiter "|" $Report
只需根据需要更改位于顶部的$Path
和$Report
的位置。
修改强>
下面是使用批处理文件的方法,遗憾的是这取决于本地化的日期/时间输出; (令牌可能需要调整以适合您的语言环境)。所有者输出字符串中包含空格的域名也会导致失败。
@Echo Off
Set "Path=C:\Users\MarxHood\Desktop"
Set "Report=C:\Users\MarxHood\Output.csv"
(For /F "EOL= Tokens=1,2,4*" %%A In ('Dir/A-D/-C/Q/TC "%Path%\*"'
) Do For /F "Delims=" %%E In ("%%~tD"
) Do Echo="%%~fD"^|"%%E"^|"%%A %%B"^|"%%~nC")>"%Report%"
请务必根据需要更改顶部附近%Path%
和%Report%
的位置。
答案 1 :(得分:0)
使用命令dir /TC
将显示每个文件的创建日期。 /TA
会向您显示上次访问权限,/TW
将显示最后一次访问权限。