PowerShell Alias - sc
 記事記号:[mdAc39] 初版:2010/Dec/28

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Set-Content
    
概要
    項目に内容を書き込むか、新しい内容で置き換えます。
    
構文
    Set-Content [-LiteralPath] <string[]> [-Value] <Object[]> [-Cred
    ential <PSCredential>] [-Exclude <string[]>] [-Filter <string
    >] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] 
    [-UseTransaction] [<CommonParameters>]
    
    Set-Content [-Path] <string[]> [-Value] <Object[]> [-Credential 
    <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [
    -Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTr
    ansaction] [<CommonParameters>]
    
説明
    Set-Content コマンドレットは文字列処理コマンドレットであり、ファイルなど指定
    した項目に内容を書き込むか置き換えます。Add-Content コマンドレットはファイル
    に内容を追加するのに対し、Set-Content は現在の内容を置き換えます。内容は、コ
    マンド中で指定するか、パイプラインを介して Set-Content に渡します。
    
パラメーター
    -Credential <PSCredential>
        この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既
        定値は現在のユーザーです。
        
        "User01" や "Domain01\User01" のようなユーザー名を入力するか、Get-Creden
        tial コマンドレットで生成されるような PSCredential オブジェクトを入力し
        ます。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示され
        ます。
        
        このパラメーターは、Windows PowerShell でインストールされるプロバイダー
        ではサポートされていません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Exclude <string[]>
        指定した項目を除外します。このパラメーターの値は、Path パラメーターを修
        飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカー
        ドを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Filter <string>
        プロバイダーの形式や言語でフィルターを指定します。このパラメーターの値は、
        Path パラメーターを修飾します。ワイルドカードを使用できるかどうかなど、
        フィルターの構文はプロバイダーによって異なります。フィルターは他のパラメ
        ーターよりも効率が良い方法です。これは、オブジェクトを取得した後に Windo
        ws PowerShell がオブジェクトをフィルターするのではなく、オブジェクトを取
        得する際にプロバイダーがフィルターを適用するためです。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Force [<SwitchParameter>]
        ファイルが読み取り専用であっても、ファイルの内容をコマンドレットで設定で
        きるようにします。実装はプロバイダーごとに異なります。詳細については、「
        about_Providers」を参照してください。Force パラメーターを使用しても、コ
        マンドレットはセキュリティ制限を上書きできません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Include <string[]>
        指定した項目だけを変更します。このパラメーターの値は、Path パラメーター
        を修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルド
        カードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -LiteralPath <string[]>
        内容を書き込む項目のパスを指定します。Path と異なり、LiteralPath の値は
        入力したとおりに使用されます。ワイルドカードとして解釈される文字はありま
        せん。パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。単
        一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -PassThru [<SwitchParameter>]
        内容を表すオブジェクトを返します。既定では、このコマンドレットによる出力
        はありません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Path <string[]>
        内容を書き込む項目のパスを指定します。ワイルドカードを使用できます。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Value <Object[]>
        項目の新しい内容を指定します。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Confirm [<SwitchParameter>]
        コマンドを実行する前に確認メッセージを表示します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -WhatIf [<SwitchParameter>]
        実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -UseTransaction [<SwitchParameter>]
        コマンドを有効なトランザクションに含めます。このパラメーターは、トランザ
        クションの進行中のみ有効です。詳細については、「about_Transactions」を参
        照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Object
        パイプを使用して項目の新しい値を含むオブジェクトを Set-Content コマンド
        レットに渡すことができます。
    
出力
    なし、または System.String
        Passthru パラメーターを使用すると、Set-Content は内容を表す System.Strin
        g オブジェクトを生成します。それ以外の場合、このコマンドレットによる出力
        はありません。
    
メモ
        Set-Content は、その組み込みエイリアスである "sc" で参照することもできま
        す。詳細については、「about_Aliases」を参照してください。
        
        Set-Content は、文字列処理を目的としています。パイプを使用して文字列でな
        いオブジェクトを Set-Content に渡すと、書き込む前に、そのオブジェクトが
        文字列に変換されます。オブジェクトをファイルに書き込むには、Out-File を
        使用してください。
        
        Set-Content コマンドレットは、プロバイダーによって公開されているデータを
        使用するように設計されています。セッションで使用可能なプロバイダーの一覧
        を表示するには、「Get-PsProvider」と入力します。詳細については、「about_
        Providers」を参照してください。
        
    -------------------------- 例 1 --------------------------
    C:\PS>set-content -path C:\Test1\test*.txt -value "Hello, World"
    
    説明
    -----------
    このコマンドを実行すると、Test1 ディレクトリにあり、名前が "test" で始まるす
    べてのファイルの内容が "Hello, World" に置き換えられます。この例は、コマンド
    中で内容を指定する方法を示しています。
    
    -------------------------- 例 2 --------------------------
    C:\PS>get-date | set-content C:\Test1\date.csv
    
    説明
    -----------
    このコマンドを実行すると、現在の日付と時刻だけが格納された、コンマで区切られ
    た可変長の (csv) ファイルが作成されます。システムの現在の日付と時刻を取得す
    るために、Get-Date コマンドレットを使用しています。パイプライン演算子により
    結果が Set-Content に渡され、ファイルが作成されて内容が書き込まれます。
    
    Test1 ディレクトリが存在しないとコマンドは失敗しますが、ファイルが存在しない
    場合はコマンドによって作成されます。
    
    -------------------------- 例 3 --------------------------
    C:\PS>(get-content Notice.txt) | foreach-object {$_ -replace "Warning", "
    Caution"} | set-content Notice.txt
    
    説明
    -----------
    このコマンドを実行すると、Notice.txt ファイル中のすべての "Warning" が "Caut
    ion" で置き換えられます。
    
    Notice.txt の内容を取得するために、Get-Content コマンドレットを使用しています。
    パイプライン演算子により結果が ForEach-Object コマンドレットに渡され、Get-Con
    tent の内容の各行に式が適用されます。この式では、$_ 記号を使用して現在の項目
    を参照しており、Replace パラメーターを使用して置き換えるテキストを指定してい
    ます。
    
    もう 1 つのパイプライン演算子により、変更された内容が Set-Content に渡され、N
    otice.txt の内容が新しい内容で置き換えられます。
    
    Get-Content コマンドをかっこで囲んでいるので、取得操作が完了してから、設定操作
    が開始されます。かっこで囲まないと、2 つの関数が同じファイルにアクセスしようと
    するため、コマンドは失敗します。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113392
    about_Providers 
    Add-Content 
    Get-Content 
    Clear-Content 
	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Alias、sc
ご利用数: 1975218
感想・要望・問い合わせは こちら