相关疑难解决方法(0)

在 Powershell 中使用分隔符分割文件

我目前有一个 Powershell 脚本,它正在迭代捆绑的 MT103 文件。目前,它检查标志并决定是否转发文件。问题是,有时,MT177(不需要的)信息与所需的文件捆绑在一起,并且文件被转发到放置点。

如何修改我的 Powershell 脚本以根据分隔符“{-”检测并分割此文件。

例如:多次付款由换行符分隔。例如:

{-
MT103 payment 1
-}
{-
MT103 payment 2
-}
Run Code Online (Sandbox Code Playgroud)

我们的愿望是将这个文件分割成多个文件,然后单独处理它们。

生成的文件应包含

{-
MT103 payment 1
-}
Run Code Online (Sandbox Code Playgroud)
{-
MT103 payment 2
-}
Run Code Online (Sandbox Code Playgroud)

powershell split text-parsing

3
推荐指数
1
解决办法
3225
查看次数

对于 PowerShell cmdlet,我可以始终将脚本块传递给字符串参数吗?

我正在查看 PowerShell 的Rename-Itemcmdlet的文档,有一个这样的例子。

Get-ChildItem *.txt | Rename-Item -NewName { $_.name -Replace '\.txt','.log' }
Run Code Online (Sandbox Code Playgroud)

此示例说明如何使用 Replace 运算符重命名多个文件,即使 NewName 参数不接受通配符也是如此。

此命令将当前目录中的所有 .txt 文件重命名为 .log。

该命令使用 Get-ChildItem cmdlet 获取当前文件夹中具有 .txt 文件扩展名的所有文件。然后,它使用管道运算符 (|) 将这些文件发送到 Rename-Item 。

NewName 的值是在将值提交给 NewName 参数之前运行的脚本块。

注意最后一句话:

NewName 的值是在将值提交给 NewName 参数之前运行的脚本块

实际上NewName是一个字符串:

[-NewName] <String>
Run Code Online (Sandbox Code Playgroud)

那么这是否意味着当所需的参数类型是字符串时,我总是可以使用脚本块?

parameters powershell cmdlets scriptblock delay-bind

2
推荐指数
2
解决办法
1127
查看次数