我有一个重命名文件的PowerShell脚本。以下是字符串操作代码的一部分(不是我的实际代码,只是为了显示问题):
$text="String1.txt"
$text
$text.trimend(".txt")
$date=Get-Date -format yyyyMMdd
$text + $date
$newFile = $text.trimend(".txt") + "_" + $date + ".bak"
$newFile
$NewFile1 = $newFile.TrimEnd("_$date.bak") + ".bak"
$NewFile1
Run Code Online (Sandbox Code Playgroud)
结果是:
String1.txt
String1
String1.txt20131104
String1_20131104.bak
String.bak
Run Code Online (Sandbox Code Playgroud)
为什么还要删除1末尾的String1?我期望结果是String1.bak。
trimend()方法采用字符数组(而不是字符串)参数,并将修剪出现在字符串末尾的所有字符。
我通常使用-replace运算符来修剪字符串值:
$text="String1.txt"
$text
$text = $text -replace '\.txt$',''
$text
String1.txt
String1
Run Code Online (Sandbox Code Playgroud)