0

我是 PowerShell 的新手,正在尝试使用 forfiles 命令将一些 excel 电子表格移动到名为“旧文件夹”的文件夹中。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”,它工作得很好。我究竟做错了什么?

4

2 回答 2

0

/C 参数的语法似乎有问题。据我所知,论点应该用双引号括起来。并且由于文件名中的空格也应该用双引号引起来。引号内的引号应使用反斜杠进行转义。我建议这样做:

forfiles /P C:\Users\NewUser\Desktop /M *.xlsx /D +27/05/2019 /C "cmd /c move @file \"C:\Users\NewUser\Desktop\old folder\""
于 2019-05-27T10:36:33.463 回答
0

即使在forfilescmd 中也有它的特性,我不会将它拖到 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

于 2019-05-27T11:16:55.423 回答