我是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”,并且效果很好。我在做什么错了?
答案 0 :(得分: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\""
答案 1 :(得分:0)
由于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