Für einmalige Änderungen an angezeigten Spalten, Rohrleitungen zu select
oder Format-Table
ist am einfachsten. Wenn Sie dies zu einer dauerhaften Änderung machen möchten, müssen Sie sich mit den Formatdateien befassen, die regeln, wie Powershell Dateisystemobjekte anzeigt.
Das Bearbeiten der vorhandenen Formatdatei (wahrscheinlich unter $env:SystemRoot\system32\WindowsPowershell\v1.0\FileSystem.format.ps1xml
) wird nicht empfohlen, da diese Datei unten einen Signaturblock hat. Durch Ändern des Dateiinhalts wird die Signatur ungültig, was zu Problemen führen kann.
Stattdessen können Sie Ihre eigene Formatdatei definieren, die die Standarddatei außer Kraft setzt. Speichern Sie die Datei unter als FileFormat.format.ps1xml
und
Update-FormatData -Prepend c:\FileFormat.format.ps1xml
standardmäßig ausgeführt, CreationTime
wird gezeigt, nicht LastWriteTime
.
Format Dateiinhalt (von Real-Format-Datei kopiert, verändert nur die entsprechenden Bits):
<Configuration>
<SelectionSets>
<SelectionSet>
<Name>FileSystemTypes</Name>
<Types>
<TypeName>System.IO.DirectoryInfo</TypeName>
<TypeName>System.IO.FileInfo</TypeName>
</Types>
</SelectionSet>
</SelectionSets>
<ViewDefinitions>
<View>
<Name>children</Name>
<ViewSelectedBy>
<SelectionSetName>FileSystemTypes</SelectionSetName>
</ViewSelectedBy>
<GroupBy>
<PropertyName>PSParentPath</PropertyName>
<CustomControlName>FileSystemTypes-GroupingFormat</CustomControlName>
</GroupBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Label>Mode</Label>
<Width>7</Width>
<Alignment>left</Alignment>
</TableColumnHeader>
<TableColumnHeader>
<Label>CreationTime</Label>
<Width>25</Width>
<Alignment>right</Alignment>
</TableColumnHeader>
<TableColumnHeader>
<Label>Length</Label>
<Width>10</Width>
<Alignment>right</Alignment>
</TableColumnHeader>
<TableColumnHeader/>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<Wrap/>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Mode</PropertyName>
</TableColumnItem>
<TableColumnItem>
<ScriptBlock>
[String]::Format("{0,10} {1,8}", $_.CreationTime.ToString("d"), $_.CreationTime.ToString("t"))
</ScriptBlock>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Length</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
</Configuration>
hat falsch schreiben Sie Creation oder haben Sie bedeutet, LastWriteTime durch CreatingTime zu ersetzen? – dugas
yeah Ich denke, ich habe – silla