2

信じられないほど簡単なPowerShellスクリプト...PowerShellスクリプトエラー:文字列はターミネータが欠落しています。

#Server side storage copy 

$SourceStorageAccount = "myStorageAccount" 
$SourceStorageKey = "myKey" 

$SourceStorageContext = New-AzureStorageContext –StorageAccountName $SourceStorageAccount -StorageAccountKey $SourceStorageKey 

は私が内容をコピーして貼り付ける場合は奇妙な部分があるエラー

At E:\DeploymentScripts\Storage\Test.ps1:6 char:51 + ... geContext –StorageAccountName $SourceStorageAccount -StorageAccount ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The string is missing the terminator: ". + CategoryInfo : ParserError: (:) [], ParseException + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

で失敗しますps1ファイルをPowerShellのコマンドラインに追加すると、うまく動作します。どうしたの?

明らかに私は自分のストレージコンテナ名とキーを削除しました。それをレプリケートするには、自分のAzureストレージアカウント名とapiキーを割り当てる必要があります。

EDIT:目に見えるすべての文字と++メモ帳で編集したスクリプトのスクリーンショット...

A screen shot of the script edited in Notepad++ with all characters visible

+1

隠された文字を見て有効にしますこれは通常、コマンド行や変数名に面白い文字があることを意味します。 – MBen

+0

@ MBenは完了しましたが、問題は残ります。私も数回引用符を削除して再作成しようとしました – Mick

+0

これはこの[question](http://stackoverflow.com/questions/20706869/powershell-is-missing-the-terminator)と似ています。 –

答えて

3

それはこのquestionと似ています。

Webからコマンドレットをコピーすると、いくつかの特殊文字が存在する可能性があります。コマンドレットをメモ帳にコピーしてPowerShellにコピーすることをお勧めします。

端末でcat filename.ps1を使用すると、どの文字が悪いかを判断することができます。これはエディタでは分かりません。

1

非標準のダッシュ文字を持つウェブサイトからコードの一部がコピーされて貼り付けられます。私はあなたがファイルを一覧表示するPowerShellコマンドラインからcatコマンドを使用するとき

それが簡単に文字を見ていここでのPowerShellに記載されているように見えるもののスクリーンショットです: - enter image description here

関連する問題