使用 forfiles 将 PowerShell 中的文件移动到名称有多个单词的文件夹时出现问题
Trouble moving files in PowerShell using forfiles to a folder whose name has more than one word
我是 PowerShell 的新手,我正在尝试使用 forfiles 命令将一些 excel 电子表格移动到名为 "old folder" 的文件夹中。 PowerShell 说文件已被移动,但当我检查文件夹时,它们不在那里。它们也不在原来的位置。
forfiles /P C:\Users\NewUser\Desktop /M *.xlsx /D +27/05/2019 /C 'cmd /c move @file C:\Users\NewUser\Desktop\"old folder"\'
我尝试将文件夹名称更改为单个单词 "oldfolder",但效果很好。我做错了什么?
您的 /C 参数的语法似乎有问题。据我所知,参数应该包含在 double-quotes 中。并且由于文件名中的 space 也应该包含在 double-quotes 中。引号内的引号应该用反斜杠转义。
我建议这样做:
forfiles /P C:\Users\NewUser\Desktop /M *.xlsx /D +27/05/2019 /C "cmd /c move @file \"C:\Users\NewUser\Desktop\old folder\""
由于 forfiles
即使在 cmd 中也有它的特性,我不会将其拖到 PowerShell 中。
IIUR 转换为:
Get-ChildItem 'C:\Users\NewUser\Desktop\*.xlsx' -File |
Where-Object LastWriteTime -ge [DateTime]::Today |
Move-Item -Destination 'C:\Users\NewUser\Desktop\old folder\'
不确定您的意思是 /D -27/05/2019
=> -lt
还是 -le
而不是 -ge
我是 PowerShell 的新手,我正在尝试使用 forfiles 命令将一些 excel 电子表格移动到名为 "old folder" 的文件夹中。 PowerShell 说文件已被移动,但当我检查文件夹时,它们不在那里。它们也不在原来的位置。
forfiles /P C:\Users\NewUser\Desktop /M *.xlsx /D +27/05/2019 /C 'cmd /c move @file C:\Users\NewUser\Desktop\"old folder"\'
我尝试将文件夹名称更改为单个单词 "oldfolder",但效果很好。我做错了什么?
您的 /C 参数的语法似乎有问题。据我所知,参数应该包含在 double-quotes 中。并且由于文件名中的 space 也应该包含在 double-quotes 中。引号内的引号应该用反斜杠转义。 我建议这样做:
forfiles /P C:\Users\NewUser\Desktop /M *.xlsx /D +27/05/2019 /C "cmd /c move @file \"C:\Users\NewUser\Desktop\old folder\""
由于 forfiles
即使在 cmd 中也有它的特性,我不会将其拖到 PowerShell 中。
IIUR 转换为:
Get-ChildItem 'C:\Users\NewUser\Desktop\*.xlsx' -File |
Where-Object LastWriteTime -ge [DateTime]::Today |
Move-Item -Destination 'C:\Users\NewUser\Desktop\old folder\'
不确定您的意思是 /D -27/05/2019
=> -lt
还是 -le
而不是 -ge