相关疑难解决方法(0)

在PowerShell中的新行上拆分带空格的字符串

我正在开发一个PowerShell脚本,我在其中输入一个长字符串(来自CSV文件),格式如下:

第一组名称
组二名
组三名
...

我正在尝试解析它

($entry.'Group Name').split("`n ") | %{
    if ($_) {
        # Do something with the group name
        $_
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望获得如下输出:

第一组名称
组二名
组三名
...

但它出现了:

集团
的一个
名称

两个
...

powershell

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

通过重新格式化现有文件名重命名文件 - 将占位符替换为与-replace运算符一起使用的替换字符串

我有一些像这样的视频文件: VideoName_s01e01.mp4季节和剧集是变量.我想在s??和之间添加一个下划线("_")e??.

我一直在使用进行重命名,我有一个起点:

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??我不知道如何在替换部分中使它们成为变量的字符.

我认为最好的方法是:

  1. 找到e??s??(我们称之为X)的位置.
  2. 将字符串拆分为X-3.
  3. 将字符串连接_到中间的" ".

powershell replace rename file

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

Powershell:始终生成空文件(比较对象的输出)

此问题最流行的答案涉及以下 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 行。

为什么输出文件总是为空,如何修复?

windows powershell compare file member-enumeration

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