function cee([string]$a,
[string]$b)
{
Write-Host $a | ft
$a.GetType()
Write-Host $b | ft
$b.GetType()
Add-Type -Assembly System.IO.Compression.FileSystem
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
[System.IO.Compression.ZipFile]::CreateFromDirectory($a,$b)
}
cee('C:\FAKE','C:\zipfile.zip')
文字列パラメータはPowerShellのように私の機能では動作しない
この邸宅で実行すると、それは失敗し、エラーのある:
C:\ FAKE'C:\ zipfile.zip
IsPublic IsSerial名ベースタイプ
-------- ------------------
True True String System.Objec t>True True String System.Object
"2"引数を指定して "CreateFromDirectory"を呼び出す例外: "指定されたパスの形式はサポートされていません。"ラインで :10文字:9 + [System.IO.Compression.ZipFile] :: CreateFromDirectory($、 + ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) []、MethodInvocationException + FullyQualifiedErrorId。 「:\ FAKEの\ C」と「C:\ zipfile.zip」
私が保存している場合は非サポート例外手動で$と$ Bの入力のような変数と各ラインを実行、変数としては、それだけで正常に動作します。
[Parameter(Mandatory = $ True)]を設定した場合は、関数を実行し、 C:\ FAKE \ とを入力します。C:\ zipfile.zipプロンプトで、うまくいきます。
@PetSerAlは何の検索用語あなたは、他の答えを見つけるために使用しましたか?明らかにあなたのsearch-fuは私のものよりはるかに優れています。または、私が間違っていたことを知っていたら、あなたはそれをより簡単に見つけることができますか?私は、重複してコミュニティをぶつけるよりも、より良い仕事の検索をすることを好むだろう。 –
私は検索で '[powershell]括弧'を使います。 PowerShell関数を呼び出す際にこのエラーが発生したのは初めてのことではないので、何を検索するのかはすでに分かっています。 – PetSerAl
@PetSerAlありがとうございます。 –