我编写了一个(非常)简单的脚本,它将当前日期附加到PowerShell中的给定文件名,然后我使用SendTo快捷方式设置它以便于访问。
但是,它不能很好地处理包含空格的文件名。如果文件名为“thisFile.txt”,则会正确添加日期,使其成为“thisFile.txt.20121227”,但如果文件名为“这个File.txt“它不能用我设置的SendTo快捷方式。
对于这两种类型的文件名,它在命令行中都能正常工作,但是我一直在试图找出原因。
这是我一直在使用的代码片段:
$enddate = (Get-Date).toString("yyyyMMdd")
$filename = $arg
foreach ($filename in $args) {
Rename-Item $filename $filename"."$enddate
}
这是我设置的快捷方式的目标字段:
"%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe " -NonInteractive -WindowStyle Hidden -NoProfile -noexit &"C:\Scripts\adddate.ps1"
答案 0 :(得分:1)
答案 1 :(得分:0)
您可能想要进行一些调试。
我打赌你的文件名用空格分成一个数组。
在for循环中,将$ filename变量的输出写入文件。您可能会发现需要在脚本中添加一些逻辑,说“嘿,这没有扩展!我需要在区域中添加更多项目,直到这是带扩展名的文件名!”,或者可能直到“test-path $ filename”返回true。