一部の csv データをインポートしようとすると、非常に奇妙なエラーが発生します。このデータには、同じままにしておく必要がある共有ポイント サイトに含まれるファイルへのリンクが含まれています。(私は実際にこれらのファイルを削除するスクリプトを書いています)。私の問題は、特にこれらのリンクにダッシュが含まれており、powershell が認識しないように見えるか、import-csv コマンドが処理できないことです。また、ダッシュには 2 つのタイプがあることも指摘しておきたいと思います。ハイフンはキーボード上に直接あります。これらは「ダッシュ」と呼ばれる長いハイフンで、キーボード上には直接ありません。
意味がわからない場合は、MS Word を開いて、次のように完全に入力してください。
This - is a test.
「a」を入力する前にスペースバーを押すと、MS Word がハイフンをダッシュに自動変換し、ダッシュが長くなることに気付くでしょう。
powershell にダッシュを認識させる方法を教えてください!
例:
$web.getListItem("link contains -")
#finds file
#Please note below the actual text is: link contains -
$files = import-csv $path #csv is ms-dos csv
$files[0].Url
#Prints: link contains <box>
$files = import-csv $path #csv is excel general csv
$files[0].Url
#Prints: link contains ?
解決済み
これを理解しました。次のサイトを使用して、自分のキャラクターに相当する 16 進数を把握し、Excel で代用しました。 http://www.asciitohex.com/ 16 進数に相当するものは次のとおりです。
e2 80 93
または URL エンコード:
%E2%80%93