処理するパスのリストを文字列の配列として受け入れるスクリプトがあります。私はこれらのパスを生成するのにGet-ChildItem
を使用しています。私は、System.IO.FileInfo
オブジェクトから文字列への変換において、いくつかの面白い振る舞いに出くわしました。Get-ChildItemの出力を文字列[]に変換する
例1:
PS C:\Users\Nikhil\Documents> [string[]](Get-ChildItem .\GitHub\)
toc
toc-gh-pages
Publish gh-pages.txt
例2:
PS C:\Users\Nikhil\Documents> [string[]](Get-ChildItem .\GitHub\*)
C:\Users\Nikhil\Documents\GitHub\toc
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages
C:\Users\Nikhil\Documents\GitHub\Publish gh-pages.txt
例3:
PS C:\Users\Nikhil\Documents\GitHub> [string[]](Get-ChildItem .\toc-gh-pages -Recurse)
assets
css
lib
_layouts
_site
.gitattributes
.gitignore
index.html
_config.yml
jquery.toc.zip
docs.less
docs.min.css
google-code-prettify
jquery.toc
lang-apollo.js
...
例(-Recurseと、文字列への変換は不合理と無駄になるように) 4:
PS C:\Users\Nikhil\Documents\GitHub> [string[]](Get-ChildItem .\toc-gh-pages\*.* -Recurse)
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\assets\jquery.toc.zip
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\css\docs.less
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\css\docs.min.css
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-apollo.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-basic.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-clj.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-css.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-dart.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-erlang.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-go.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-hs.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-lisp.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-llvm.js
C:\Users\Nikhil\Documents\GitHub\toc-gh-pages\lib\google-code-prettify\lang-lua.js
...
パスにワイルドカードを追加すると、ファイル/フォルダ名ではなく、結果の文字列がフルパス名になります。なぜこれが起こるのですか?
私は理解していますどのように私はこの動作を回避し、必要な情報を得ることができます。私が興味を持っているのはなぜこれが起こっているのか、すべてSystem.IO.FileInfo
とSystem.IO.DirectoryInfo
オブジェクトを文字列に変換しているだけです。
:http://stackoverflow.com/a/2744637/520612 –
@ CBそれに感謝します - それはまさに私が探していた答えです。誰かが私にこの質問をそれの重複としてマークするのを助けることができますか? –
[同じような入力データの文字列\ [\]への不思議な異なる変換](http://stackoverflow.com/questions/2744047/mysterious-different-conversion-to-string-of-seemingly-same-input) -Data) –