问题描述
问题:
在 powershell 5.1 中,我运行一个命令 myProgram
,并将逗号分隔的字符串列表(动态长度)-itemsToProcess
作为参数传递给它的 $commaSeparatedList
标志。 $commaSeparatedList
中的字符通常过多,有时为 125000 个字符或更多或更少,这会导致如下所示的错误。
$commaSeparatedList = 'file1,file2,file3,file4 ... fileX'
myProgram -itemsToProcess $commaSeparatedList
问题: 我怎样才能避免这个错误?我如何将其拆分为多个调用,以便永远不会抛出错误?调用也必须是顺序的,而不是并行的。
当 $commaSeparatedList
的字符长度很短时,上面的伪代码设置工作正常/成功,但是如果它太长则会崩溃/失败/错误:
"the filename or extension is too long"
例如,动态生成的 $commaSeparatedList
有 125k 个字符,并且可能更长或更短。
我们如何检测和避免错误?也许以某种方式将其拆分为多个 myProgram -itemsToProcess
调用以避免错误? 那会是什么样子?
解决方法
感谢您的评论,我将输入拆分为更小的字符串并进行了更多调用