私はPowerShellスクリプトを作成しています。私はVisual Studio 2015で何か変わったことがありました。sciriptのパラメータに値を代入しようとすると、空白になります。しかし、クリーンなパワーシェルコンソールでは、すべてが大丈夫です。ここに私のコードがある、とVSときれいなPSの結果:PS - Visual Studioのパラメータのデフォルト値2015
[CmdletBinding()]
Param(
[Parameter(Mandatory=$False)]
[String]$parameter = $PSScriptRoot
)
$var = "\file.txt"
echo "PSScriptRoot: $PSScriptRoot"
echo "Parameter: $parameter"
$var1 = $PSScriptRoot + $var
$var2 = $parameter + "\file.txt"
$var3 = $parameter + $var
-Join ($parameter, $var)
echo "var1: $var1"
echo $var1.GetType()
echo "var2: $var2"
echo $var2.GetType()
echo "var3: $var3"
echo $var3.GetType()
echo "var: $var"
echo $var.GetType()
echo "parameter: $parameter"
結果VS2015:
PSScriptRoot: C:\Users\Ja\Documents\Visual Studio 2015\Projects\teststemp\teststemp
Parameter:
\file.txt
var1: C:\Users\Ja\Documents\Visual Studio 2015\Projects\teststemp\teststemp\file.txt
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
var2: \file.txt
True True String System.Object
var3: \file.txt
True True String System.Object
var: \file.txt
True True String System.Object
parameter:
結果クリーンPowerShellを:それは起こっている理由
PSScriptRoot: C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp
Parameter: C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp
C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp\file.txt
var1: C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp\file.txt
System.String
var2: C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp\file.txt
System.String
var3: C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp\file.txt
System.String
var: \file.txt
System.String
parameter: C:\users\ja\documents\Visual Studio 2015\Projects\teststemp\teststemp
は誰もが、知っていますか?リリースモードに切り替えることは役に立たなかった。