Tôi có một tập lệnh chấp nhận một danh sách các đường dẫn để xử lý dưới dạng một chuỗi các chuỗi. Tôi đang sử dụng Get-ChildItem
để tạo các đường dẫn đó. Tôi đã đi qua một số hành vi thú vị trong việc chuyển đổi từ System.IO.FileInfo
đối tượng thành chuỗi.Chuyển đổi đầu ra Get-ChildItem thành chuỗi []
Ví dụ 1:
PS C:\Users\Nikhil\Documents> [string[]](Get-ChildItem .\GitHub\)
toc
toc-gh-pages
Publish gh-pages.txt
Ví dụ 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
Ví dụ 3: (Với -recurse, vì vậy việc chuyển đổi thành các chuỗi là vô lý và vô dụng)
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
...
Ví dụ 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
...
Việc thêm ký tự đại diện vào đường dẫn làm cho các chuỗi kết quả là tên đường dẫn đầy đủ, thay vì chỉ tên tệp/thư mục. Lý do tại sao điều này xảy ra?
Tôi hiểu cách Tôi có thể giải quyết hành vi này và nhận thông tin tôi cần; những gì tôi quan tâm là lý do tại sao điều này đang xảy ra, do chúng tôi chỉ chuyển đổi các đối tượng System.IO.FileInfo
và System.IO.DirectoryInfo
thành chuỗi trong mọi trường hợp.
đã đọc ở đây: http://stackoverflow.com/a/2744637/520612 –
@ CB cảm ơn vì điều đó - đó chính là câu trả lời tôi đang tìm kiếm. Ai đó có thể giúp tôi đánh dấu câu hỏi này là bản sao của câu hỏi đó không? –
có thể trùng lặp của [Chuyển đổi khác nhau bí ẩn thành chuỗi \ [\] của dữ liệu đầu vào dường như giống nhau] (http://stackoverflow.com/questions/2744047/mysterious-different-conversion-to-string-of-seemingly-same-input -data) –