1 windows-7 dir directory-listing
我想在单个文本文件中列出整个驱动器的 (Z:) 目录、子目录和文件,其中包含所有日期和文件大小。然后我可以在 Excel 中打开该文件。
我目前正在使用以下命令:
dir z:\ /s /o:gne >text.txt
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让我获得类似于通常使用 tree 命令获得的输出,将所有文件和子目录堆叠在一个中而不单独列出?
如果我想删除时间等其他不必要的信息,我必须做什么或输入什么?
powershell ls -r -fo Z:\ ^|?{!$_.PSIsContainer}^|Select DirectoryName,Name,BaseName,Extension,Length,CreationTime,LastAccessTime,LastWriteTime ^|epcsv Z:\excel.csv -En UTF8 -NoType -Delim ';'
Run Code Online (Sandbox Code Playgroud)
^|- ^- 在 cmd 中屏蔽传输器/管道符号,|- 管道对象$_- 管道中当前对象的变量;样本:
powershell 'a','B','c','d','F' ^|%{if($_.toLower() -gt 'b'){write $_}}
Run Code Online (Sandbox Code Playgroud)?= where- 检查是不是目录?{!$_.PSIsContainer}循环{}
ls -r - 获取/以及所有子目录和当前目录中的所有文件
-fo= -force- 添加到列表隐藏、系统和只读属性字节文件'Z:\' - 目录路径,如果使用 'Z:' - 将当前目录设置为 Z: cd。
select- 选择ls管道对象的属性
epcsv= Export-Csv- 将 PowerShell 对象导出到分隔值 (CSV) 文件。
-En= -Encoding- 编码字符串 导出的 CSV 文件的编码。有效值为:Unicode、UTF7、UTF8、ASCII、UTF32、BigEndian unicode、默认值和 OEM。默认值为 ASCII。-NoType= -NoTypeInformation- 忽略 CSV 文件中的类型信息。-Delim ';'- -Delimiterchar 分隔属性值的分隔符。默认值为逗号 (,)。输入一个字符,例如冒号 (:)。要指定分号 (;),请将其括在引号中。结果:
