我正在开发一个PowerShell脚本,我在其中输入一个长字符串(来自CSV文件),格式如下:
第一组名称
组二名
组三名
...
我正在尝试解析它
($entry.'Group Name').split("`n ") | %{
if ($_) {
# Do something with the group name
$_
}
}
Run Code Online (Sandbox Code Playgroud)
我希望获得如下输出:
第一组名称
组二名
组三名
...
但它出现了:
集团
的一个
名称
组
两个
...
我有一些像这样的视频文件:
VideoName_s01e01.mp4季节和剧集是变量.我想在s??和之间添加一个下划线("_")e??.
我一直在使用powershell进行重命名,我有一个起点:
GCI $path -filter '*_s??e??*' -rec | Ren -new { $_.name -replace '_s[0-9][0-9]', '_s[0-9]_[0-9]_' } -passthru
Run Code Online (Sandbox Code Playgroud)
这实际上重命名了我的文件VideoName_s[0-9]_e[0-9].mp4.
基本上,我正在寻找s??e??我不知道如何在替换部分中使它们成为变量的字符.
我认为最好的方法是:
e??s??(我们称之为X)的位置.X-3._到中间的" ".此问题最流行的答案涉及以下 Windows powershell 代码(已编辑以修复错误):
$file1 = Get-Content C:\temp\file1.txt
$file2 = Get-Content C:\temp\file2.txt
$Diff = Compare-Object $File1 $File2
$LeftSide = ($Diff | Where-Object {$_.SideIndicator -eq '<='}).InputObject
$LeftSide | Set-Content C:\temp\file3.txt
Run Code Online (Sandbox Code Playgroud)
我总是得到一个零字节文件作为输出,即使我删除了 $Diff 行。
为什么输出文件总是为空,如何修复?