Add-Contentコマンドレットの-literalPathパラメータ

by HIRO 30. 9月 2008 00:02

前回 Add-Contentコマンドレットの-Pathパラメータ を紹介しました。

今回はAdd-Contentコマンドレットの-literalPathパラメータについてまとめた(http://pswiki.hiros-dot.net/) のでご紹介します。

-literalPath <string[]>

内容を追加する先のパスを指定します。ただし-pathパラメータと異なり、ワイルドカードを指定することができません。パスにワイルドーカード文字を含めてもワイルドカードとして認識されないためエラーが発生します。パスにエスケープ文字が含まれている場合は単一引用符で囲む必要があります。(PowerShellでは`(アクサングラーブ文字)がエスケープ文字として扱われます。)

注意)ワイルドカードは指定できない

Add-Content -literalPath "Test*.txt" -Value "abc"

はエラーになります。-pathパラメータはワイルドカードを使用して複数ファイルへの書き込みが可能ですが-literalPathはできません。ただしカンマ区切りによる複数ファイルの指定は可能です。

–––––––––– -literalPathパラメータの使用例1 ––––––––––
Add-Content -literalPath "test.txt" -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する test.txt というファイルに"ABC"という文字列を追記します。ファイルが存在しない場合は新規で作成され"ABC"という文字列を書き込みます。

–––––––––– -literalPathパラメータの使用例2 ––––––––––
Add-Content -literalPath "test1.txt","test2.txt" -Value "ABC"

このコマンドを実行すると、test1.txt と test2.txtの2つのファイルに文字列"ABC"を追記します。ファイルが存在しない場合は新規で作成され"ABC"という文字列を書き込みます。

–––––––––– -literalPathパラメータの使用例3 ––––––––––
Add-Content -literalPath 'tes`t.txt' -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する tes`t.txt というファイルに"ABC"という文字列を追記します。ファイルが存在しない場合には新規で作成されます。
この例のように、パスにエスケープ文字が含まれている場合は単一引用符(')で括って指定します。

–––––––––– -literalPathパラメータの使用例4 ––––––––––
Add-Content -literalPath "tes[]t.txt" -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する tes[]t.txt というファイルに"ABC"という文字列を追記します。ファイルが存在しない場合には新規で作成されます。
この例のようにパスにワイルドカードパターンが含まれていても文字として取り扱います。

–––––––––– -literalPathパラメータのNG例1 ––––––––––
Add-Content -literalPath "Test*.txt" -Value "abc"

このコマンドレットは、パスにワイルドカード(*)が含まれているためにエラーとなります。これは*をワイルドカードではなく文字として認識し、ファイル名として取り扱おうとしたことが原因となります。

まとめ

-literalPathパラメータの特徴は、なんといってもワイルドカード文字をワイルドカードとしてではなく文字として取り扱うことでしょう。

パスにワイルドカードが含まれている場合には-literalPathパラメータを使用するということを是非覚えておいてください。

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell | その他

Add-Contentコマンドレットの-literalPathパラメータ

by HIRO 30. 9月 2008 00:02

前回 Add-Contentコマンドレットの-Pathパラメータ を紹介しました。

今回はAdd-Contentコマンドレットの-literalPathパラメータについてまとめた(http://pswiki.hiros-dot.net/) のでご紹介します。

-literalPath <string[]>

内容を追加する先のパスを指定します。ただし-pathパラメータと異なり、ワイルドカードを指定することができません。パスにワイルドーカード文字を含めてもワイルドカードとして認識されないためエラーが発生します。パスにエスケープ文字が含まれている場合は単一引用符で囲む必要があります。(PowerShellでは`(アクサングラーブ文字)がエスケープ文字として扱われます。)

注意)ワイルドカードは指定できない

Add-Content -literalPath "Test*.txt" -Value "abc"

はエラーになります。-pathパラメータはワイルドカードを使用して複数ファイルへの書き込みが可能ですが-literalPathはできません。ただしカンマ区切りによる複数ファイルの指定は可能です。

–––––––––– -literalPathパラメータの使用例1 ––––––––––
Add-Content -literalPath "test.txt" -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する test.txt というファイルに"ABC"という文字列を追記します。ファイルが存在しない場合は新規で作成され"ABC"という文字列を書き込みます。

–––––––––– -literalPathパラメータの使用例2 ––––––––––
Add-Content -literalPath "test1.txt","test2.txt" -Value "ABC"

このコマンドを実行すると、test1.txt と test2.txtの2つのファイルに文字列"ABC"を追記します。ファイルが存在しない場合は新規で作成され"ABC"という文字列を書き込みます。

–––––––––– -literalPathパラメータの使用例3 ––––––––––
Add-Content -literalPath 'tes`t.txt' -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する tes`t.txt というファイルに"ABC"という文字列を追記します。ファイルが存在しない場合には新規で作成されます。
この例のように、パスにエスケープ文字が含まれている場合は単一引用符(')で括って指定します。

–––––––––– -literalPathパラメータの使用例4 ––––––––––
Add-Content -literalPath "tes[]t.txt" -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する tes[]t.txt というファイルに"ABC"という文字列を追記します。ファイルが存在しない場合には新規で作成されます。
この例のようにパスにワイルドカードパターンが含まれていても文字として取り扱います。

–––––––––– -literalPathパラメータのNG例1 ––––––––––
Add-Content -literalPath "Test*.txt" -Value "abc"

このコマンドレットは、パスにワイルドカード(*)が含まれているためにエラーとなります。これは*をワイルドカードではなく文字として認識し、ファイル名として取り扱おうとしたことが原因となります。

まとめ

-literalPathパラメータの特徴は、なんといってもワイルドカード文字をワイルドカードとしてではなく文字として取り扱うことでしょう。

パスにワイルドカードが含まれている場合には-literalPathパラメータを使用するということを是非覚えておいてください。

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell | その他

Exchange Server 2007で使用可能なコマンドレット一覧

by HIRO 29. 9月 2008 13:11
Exchane Server 2007のPowerShellで使用可能なコマンドレット一覧

http://technet.microsoft.com/ja-jp/library/bb123703.aspx

にあります。全部で393個あるようです。

現在のレート 3.0 (2人)

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell

Add-Contentコマンドレットの-Pathパラメータ

by HIRO 29. 9月 2008 00:09

現在、PowerShell WikiでAdd-Contentコマンドレットの使用方法についてまとめています。(サイト自体は今年の7月に立ち上げていたのですがこれから始動といったところです)

では、本題です。


Add-Contentコマンドレットは

指定した項目やファイルに内容を追加することができます。内容を指定するには、コマンドに内容を入力するか、内容が入力されているオブジェクトを指定します。指定した項目やファイルが存在しない場合は、新規で作成され、指定した値が追記されます。


基本構文

Add-Content -Path "パス文字列" -Value "追記する値"

です。実際には数多くのパラメータがありますが、後日紹介していきたいと思います。

今回取り上げるのは-Pathパラメータです。


-Pathパラメータは

内容を追加する先のパスを指定します。パスにはワイルドカードを指定することができます。また、カンマで区切ることで複数のファイルを指定することができます。

エスケープ文字を含むパスを指定することはできません。エスケープ文字を含むパスを指定したい場合は-literalPathパラメータを使用します。(PowerShellでは`(アクサングラーブ文字)がエスケープ文字として扱われます。)


使用例

–––––––––– -Pathパラメータの使用例1 ––––––––––

Add-Content -Path "test.txt" -Value "ABC"

このコマンドを実行すると、カレントディレクトリに存在する test.txt というファイルに"ABC"という文字列を追記します。
ファイルが存在しない場合は新規で作成され"ABC"という文字列を書き込みます。

–––––––––– -Pathパラメータの使用例2 ––––––––––
Add-Content -Path "test1.txt","test2.txt" -Value "ABC"

このコマンドを実行すると、test1.txt と test2.txtの2つのファイルに文字列"ABC"を追記します。
ファイルが存在しない場合は新規で作成され"ABC"という文字列を書き込みます。

–––––––––– -Pathパラメータの使用例3 ––––––––––
Add-Content -Path "*.txt" -Value "ABC"


このコマンドを実行すると、カレントディレクトリにある拡張子が*.txtのファイルに"ABC"という文字列を追記します。


–––––––––– -PathパラメータのNG例1 ––––––––––

Add-Content -Path "tes`t.txt" -Value "ABC"

このコマンドレットはパスにエスケープ文字`tが含まれているため「パスに無効な文字が含まれています。」のエラーが発生します。
エスケープ文字が含まれているパスを指定したい場合には-Pathパラメータの代わりに-literalPathパラメータを使用します。

–––––––––– -PathパラメータのNG例2 ––––––––––
Add-Content -Path "tes[t.txt" -Value "ABC"

このコマンドレットはパスに[が含まれているため「指定されたワイルドカード パターンは無効です」のエラーが発生します。-Pathパラメータでは"["をワイルドカードととして認識します。この例で使用されている文字"["は正規表現で使用される文字であり"]"と対で使用しなければなりません。このようなファイル名を使用したい場合は-Pathパラメータの代わりに-literalPathパラメータを使用します。


まとめ

-Pathパラメータはワイルドカードを使用して、複数ファイルへ一気に同じ文字列を追記できるところがすごいですね。

ワイルドカードを使用できる分、-PathパラメータのNG例2のようにワイルドカード構成する文字を含むパスは指定できないという制限がありますが、-literalPathパラメータを使用すればこの問題は回避できます。

-Pathと-literalPathパラメータを使い分けるポイントとなりますね。

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell | コマンドレット

Hey, Scripting Guy! PowerShellまとめ

by HIRO 26. 9月 2008 23:28

Hey, Scripting Guy! で紹介されたPowerShellトピックをまとめてみました。

ただし、2008年3月~2008年5月を除ききます。この期間中にも公開されていると思うのですが、リンク先を見つけられませんでした。

何か情報をお持ちの方おりましたら、連絡いただけると助かります。

どうでしょうか? この一覧を見るとPowerShellに魅力を感じませんか?

現在のレート 4.0 (1人)

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell

Calendar

<<  3月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 PowerShell from Japan!!