powershell_利用ls与管道符进行稍为复杂的移动复制操作

帮助文档

很多高级用法在对应cmdlet 帮助中的example部分都有介绍到
help mv
help cp

在这里插入图片描述
这里利用ls(即get-chiledItem)来进行对象筛选,再通过管道符传送给mv(即move-item)而mv 一般的,move需要两个参数,所以这里使用-Destination来知名其后面跟的是目标目录(而管道符传送过来的结果则作为被移动对象)

举例

eg.将当前有关pdf目录、文件都移动到pdfTools目录下(pdfTools目录和其他需要被移动的目录位于同一个目录下)

solution:

ls *pdf* -Depth 0 -Exclude pdfTools | mv -Destination  .\pdfTools\

-Depth 0 指定递归深度为0(这样就不会向子目录里头钻,这一点很重要,否则会破坏目录结构)
exclude pdfTools选项可以从被移动对象中剔除,否则会发生自己移动到自己的错误操作。

中间变量

于此同时,您可以选择用一个临时变量来保存ls筛选的结果
然后再双参数命令上传入该变量

猜你喜欢

转载自blog.csdn.net/xuchaoxin1375/article/details/121106877