语法错误Powershell创建列表SharePoint

时间:2015-08-17 08:54:27

标签: powershell

我的脚本中有一些语法问题,我有这个错误:

enter image description here

Unexpected token '

这是代码:

if ($bCreate_Lists)
{

CreateList $webURL 100 "CatMissions" "Catégories de mission" "Catégories de mission" "Catégorie"'
@()'
@()

CreateList $webURL 100 "DomainesEtudes" "Domaines d études" "Domaines d études" "Domaine d étude"'
@("AN,Anglais,Text","ESP,Espagnol,Text","POR,Portugais,Text","L1,Langue 1,Text","L2,Langue 2,Text")'
@('
    "Domaine d étude_1|Domaine d étude_1_EN|Domaine d étude_1_ESP|Domaine d étude_1_POR|Domaine d étude_1_L1|Domaine d étude_1_L2"'
    ,"Domaine d étude_2|Domaine d étude_2_EN|Domaine d étude_2_ESP|Domaine d étude_2_POR|Domaine d étude_2_L1|Domaine d étude_2_L2"'
    ,"Domaine d étude_3|Domaine d étude_3_EN|Domaine d étude_3_ESP|Domaine d étude_3_POR|Domaine d étude_3_L1|Domaine d étude_3_L2"'
    ,"Domaine d étude_4|Domaine d étude_4_EN|Domaine d étude_4_ESP|Domaine d étude_4_POR|Domaine d étude_4_L1|Domaine d étude_4_L2"'
    ,"Domaine d étude_5|Domaine d étude_5_EN|Domaine d étude_5_ESP|Domaine d étude_5_POR|Domaine d étude_5_L1|Domaine d étude_5_L2"'
)

你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

它可能在@()'失败,因为它有一个不平衡的单引号。我怀疑你是否试图包裹长线,这需要使用后面的空格键`

所以而不是:

CreateList $webURL 100 "CatMissions" ... "Catégorie"'
@()'

使用:

CreateList $webURL 100 "CatMissions" ... "Catégorie" `
@() `

注意: `之前的空格很重要!

`字符通常位于美式键盘布局键盘的左上角。

enter image description here

鉴于您发布的错误消息是法语,我怀疑您正在使用法语键盘布局,您正在寻找的关键字可能是此处突出显示的那个:

enter image description here

注意,通过将,放在上一行,Powershell会知道您想要换行,并且您不需要在这些行上使用行继续标记:

CreateList $webURL 100 "DomainesEtudes" "Domaines d études" "Domaines d études" "Domaine d étude" `
@("AN,Anglais,Text","ESP,Espagnol,Text","POR,Portugais,Text","L1,Langue 1,Text","L2,Langue 2,Text") `
@(
    "Domaine d étude_1|Domaine d étude_1_EN|Domaine d étude_1_ESP|Domaine d étude_1_POR|Domaine d étude_1_L1|Domaine d étude_1_L2",
    "Domaine d étude_2|Domaine d étude_2_EN|Domaine d étude_2_ESP|Domaine d étude_2_POR|Domaine d étude_2_L1|Domaine d étude_2_L2",
    "Domaine d étude_3|Domaine d étude_3_EN|Domaine d étude_3_ESP|Domaine d étude_3_POR|Domaine d étude_3_L1|Domaine d étude_3_L2",
    "Domaine d étude_4|Domaine d étude_4_EN|Domaine d étude_4_ESP|Domaine d étude_4_POR|Domaine d étude_4_L1|Domaine d étude_4_L2",
    "Domaine d étude_5|Domaine d étude_5_EN|Domaine d étude_5_ESP|Domaine d étude_5_POR|Domaine d étude_5_L1|Domaine d étude_5_L2"
)

如果您没有将,放在上一行,那么您还需要替换所有其他实例上的'

enter image description here

答案 1 :(得分:1)

在我看来,最好避免使用行继续字符,因为它们可能令人困惑。最好只使用中间变量:

CreateList $webURL 100 "CatMissions" "Catégories de mission" "Catégories de mission" "Catégorie" @() @()

$list1 = @("AN,Anglais,Text","ESP,Espagnol,Text","POR,Portugais,Text","L1,Langue 1,Text","L2,Langue 2,Text")

$list2 = @(
    "Domaine d étude_1|Domaine d étude_1_EN|Domaine d étude_1_ESP|Domaine d étude_1_POR|Domaine d étude_1_L1|Domaine d étude_1_L2",
    "Domaine d étude_2|Domaine d étude_2_EN|Domaine d étude_2_ESP|Domaine d étude_2_POR|Domaine d étude_2_L1|Domaine d étude_2_L2",
    "Domaine d étude_3|Domaine d étude_3_EN|Domaine d étude_3_ESP|Domaine d étude_3_POR|Domaine d étude_3_L1|Domaine d étude_3_L2",
    "Domaine d étude_4|Domaine d étude_4_EN|Domaine d étude_4_ESP|Domaine d étude_4_POR|Domaine d étude_4_L1|Domaine d étude_4_L2",
    "Domaine d étude_5|Domaine d étude_5_EN|Domaine d étude_5_ESP|Domaine d étude_5_POR|Domaine d étude_5_L1|Domaine d étude_5_L2"
)

CreateList $webURL 100 "DomainesEtudes" "Domaines d études" "Domaines d études" "Domaine d étude" $list1 $list2