我有一个文件夹,其子文件夹名称与此类似:
The.Train.To.Morning.Town
我想用空格替换所有<xcdg:Column FieldName="Start" CellEditorDisplayConditions="Always">
<xcdg:Column.CellValidationRules>
<validation:StartTimeValidation/>
</xcdg:Column.CellValidationRules>
<xcdg:Column.CellEditor>
<xcdg:CellEditor>
<xcdg:CellEditor.EditTemplate>
<DataTemplate>
<xctk:TimePicker
Value="{xcdg:CellEditorBinding}"
UpdateValueOnEnterKey="True"
ShowButtonSpinner="False" TimeInterval="0:15"
Format="Custom"
FormatString="HH:mm"
ValueChanged="UpDownBase_OnValueChanged"
/>
</DataTemplate>
</xcdg:CellEditor.EditTemplate>
</xcdg:CellEditor>
</xcdg:Column.CellEditor>
</xcdg:Column>
。
我尝试使用此
.
但是我然后得到一个错误,我在哪里出错?谢谢
Rename-Item:路径不是合法形式。在第5行:char:1 + Rename-Item -NewName {$ _。Name -replace'。',''}
答案 0 :(得分:0)
@Olaf在评论中正确无误,应该将其提交为答案。 PowerShell -replace
运算符将regular expression作为搜索参数;由于.
是'match any character'的正则表达式,因此您需要使用反斜杠\
:$_.Name -replace '\.',' '
您在问题的注释中指出这也将删除文件扩展名的.
;最好将原始扩展名中涉及到扩展名的信息包括在内。但是,关于此,@ LotPings提供了一个很好的解决方案来处理这种情况({$_.BaseName.replace('.',' ')+$_.Extension}
)-请注意.Replace()
method(注意:链接是指向SS64;我找不到Microsoft Docs页面对此)不不使用正则表达式,因此.
不需要转义。