2012-09-26 4 views
5

あなたがGet-ChildItemを使用する場合はLastWriteTimeではなくCreationTimeでGet-ChildItemを使用しますか?

Mode    LastWriteTime  Length Name 
----    -------------  ------ ---- 
d----   3/1/2006 9:03 AM   Bluetooth Software 
d---s   5/10/2006 8:55 AM   Cookies 
d----   5/9/2006 2:09 PM   Desktop 

厥の罰金のようなものを取得します。 LastWriteTimeの出力をCreationTimeに変更したいだけです。他のすべては同じでなければなりません。何か案は?あなたが選択することができます

Get-ChildItem | Select Mode, CreationTime, Length, Name 
+0

あなたはCREATIONTIMEのスペルを間違えたりしなかったんでした実際にLastWriteTimeをCreatingTimeに置き換えることを意味しますか? – dugas

+0

ええ、私はやったと思う – silla

答えて

3

3

あなたがあなたの代わりにLastWriteTimeのプロパティCREATIONTIMEを見せたかったことを意味している場合は、Get-ChildItemコマンドレットの出力は、オブジェクトを選択し、選択するプロパティを指定するには、あなたは可能性のパイプSelect-Object又は表示される列に一回限りの変更を

Get-ChildItem | Select-Object Mode,CreationTime,Length,Name 
4

Format-*コマンドレットのいずれかを有すること、select又はFormat-Tableに配管が最も簡単です。これを永続的な変更にしたいのであれば、PowerShellがファイルシステムオブジェクトをどのように表示するかを制御するフォーマットファイルを処理する必要があります。

既存の形式ファイル(おそらく$env:SystemRoot\system32\WindowsPowershell\v1.0\FileSystem.format.ps1xml)の編集は、そのファイルの下部に署名ブロックがあるため、お勧めできません。ファイルの内容を変更すると署名が無効になり、問題が発生する可能性があります。

代わりに、独自のフォーマットファイルを定義してデフォルトのファイルを上書きすることができます。 FileFormat.format.ps1xmlとして以下のファイルを保存し、デフォルトでは

Update-FormatData -Prepend c:\FileFormat.format.ps1xml

を実行し、CreationTimeLastWriteTime、ない表示されます。

フォーマットファイルの内容(実際の形式のファイルからコピーされたが、ちょうど関連ビットを変更):V3中

<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> 
+0

ニースの情報。 – dugas

2

あなたは、ダイナミック型のデータを使用することができます。

PS III> # UNTESTED: if work...you can paste this in your profile 
    PS III> 
    PS III> Update-TypeData -TypeName System.IO.FileInfo,System.IO.DirectoryInfo -MemberName DFPR DefaultDisplayPropertySet Mode,CreationTime,Length,Name 
関連する問題