Ani*_*esh 1 powershell powershell-2.0
我编写了这个脚本来将文件移动到目标文件夹.看起来我在这里遗漏了一些东西,因为当我运行脚本时,它只查找当前目录中的.zqx文件而不是所有驱动器.请注意,(dir $ paths ..)部分会立即返回.zqx文件列表.
Paths.txt有这样的驱动器号
C:\
D:\
E:\
$paths = get-content paths.txt
mv (dir $paths -r -fi *.zqx | ?{$_.lastwritetime -lt ($sevendaysold)}) -dest e:\xqz
Run Code Online (Sandbox Code Playgroud)
那么,您将遇到的一个问题是,计算要移动的文件路径的部分只生成文件名而不是完整路径.试试这个,看看我在说什么:
$OFS="`n"
"$(dir $paths -r -fi *.zqx | ?{$_.lastwritetime -lt ($sevendaysold)})"
Run Code Online (Sandbox Code Playgroud)
Move-Item获取类型的Path参数,[string[]]以便PowerShell将dir表达式的结果转换为字符串数组.不幸的是,System.IO.FileInfo对象根据它们用IIRC构造的文件名呈现"ToString()".
幸运的是,修复很简单.将FileInfo对象管道化为Move-Item:
dir $paths -r *.zqx | ?{$_.lastwritetime -lt $sevenDaysOld} | mv -dest e:\xqz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |