替换数字 - powershell
replace numbers - powershell
正在尝试创建一个脚本,将每个文件名组织成:年、月和日变量。
要在 PowerShell 中使用我当前的版本执行此操作,我需要使用 -replace
但是它只会从右到左删除数字。
如何替换前 4 位数字,在本例中为:20181015
$Month = $FileNameArray -replace "^2018"
$Month = $FileNameArray -replace "..$"
输出:
201801...201802...201803...201804...201805...201806...201807...201808...201809...2018010...2018011...2018012...
...
表示相同数字的重复实例。
你丢失了一个参数。
运算符-replace
有2个参数,第一个是source,第二个是target,用逗号隔开
"20181015" -replace "^2018","9999"
这将输出99991015
,源支持正则表达式。
我想我可能会感到困惑。我认为您的目标是根据日期创建路径。给定日期 20180101,您可以这样创建路径:
$date = [datetime]::parseexact("20180101", "yyyyMMdd", [System.Globalization.CultureInfo]::InvariantCulture)
$path = '{0}\{1:D2}\{2:D2}' -f $date.Year, $date.Month, $date.Day
无需进行任何替换。
正在尝试创建一个脚本,将每个文件名组织成:年、月和日变量。
要在 PowerShell 中使用我当前的版本执行此操作,我需要使用 -replace
但是它只会从右到左删除数字。
如何替换前 4 位数字,在本例中为:20181015
$Month = $FileNameArray -replace "^2018"
$Month = $FileNameArray -replace "..$"
输出:
201801...201802...201803...201804...201805...201806...201807...201808...201809...2018010...2018011...2018012...
...
表示相同数字的重复实例。
你丢失了一个参数。
运算符-replace
有2个参数,第一个是source,第二个是target,用逗号隔开
"20181015" -replace "^2018","9999"
这将输出99991015
,源支持正则表达式。
我想我可能会感到困惑。我认为您的目标是根据日期创建路径。给定日期 20180101,您可以这样创建路径:
$date = [datetime]::parseexact("20180101", "yyyyMMdd", [System.Globalization.CultureInfo]::InvariantCulture)
$path = '{0}\{1:D2}\{2:D2}' -f $date.Year, $date.Month, $date.Day
无需进行任何替换。