异常调用"子串"用" 2"参数(一个或多个):

时间:2016-02-25 00:27:39

标签: powershell

我正在尝试根据名字和姓氏创建用户名。我只想要用户名的第一个首字母。当我尝试下面的代码时,我收到此错误

Substring

$('.clipboard').click(function(){
  $(this).closest(".share").find(".clipboardtext").focus();
  document.execCommand('SelectAll');
  document.execCommand("Copy", false, null);
  copyDiv.style.display = 'none';

});

根据我的理解,我输入的内容将从Import-Csv "C:\Users\Alex.piwowar.adm.j2global\desktop\ExcelMicroADAdd.csv" | ForEach-Object{ $First=$_."First" $Last=$_."Last" $Location=$_."Location" $Title=$_."Title" $Department=$_."Department" $ManagerName=$_."Manager" $Company=$_."Company" $FirstIntitial = $First.Substring(0,1) } 的开头开始,然后移过应该是第一个字母的那个。

我的想法不正确吗?

1 个答案:

答案 0 :(得分:2)

您断言您的代码应该如何工作是正确的。我的假设是$first是一个零长度的字符串。我可以通过执行以下操作来解决此错误:

"".Substring(0,1)

错误是声明字符串不够长,无法返回一个字符。零长度可以解释这一点。

可能会查看您的源数据,或在失败时调试$first / $_.First。此外,您不需要在单个单词属性上使用引号。只是有特殊字符或空格的。

一旦你弄清楚了这个问题....如果你只想要第一个字符虽然你可以像字符数组那样处理字符串来返回第一个字符。我在制作新帐户脚本时这样做

$FirstIntitial = $First[0]