如何全部复制PDF
文件从目录及其子目录到单个目录?
实际上还有更多的文件,并且深度有些任意。假设四个目录的最大深度是公平的。
我想这些文件需要重命名,如果a.pdf
例如,位于多个目录中。因为我会adding https://ebooks.stackexchange.com/q/8774/12205文件到Calibre
,重复文件优于省略文件。 (不希望相互检查文件是否有重复项。)
遵循 KISS 原则:
PS /home/nicholas/to>
PS /home/nicholas/to> Copy-Item -path "/home/nicholas/from" -include "*.pdf" -Destination "/home/nicholas/to"
PS /home/nicholas/to>
PS /home/nicholas/to> ls /home/nicholas/to
PS /home/nicholas/to>
PS /home/nicholas/to> ls /home/nicholas/from
one two
PS /home/nicholas/to>
PS /home/nicholas/to> tree /home/nicholas/from
/home/nicholas/from
├── one
│ ├── a.pdf
│ ├── b.pdf
│ └── foo.txt
└── two
├── bar.txt
├── c.pdf
└── d.pdf
2 directories, 6 files
PS /home/nicholas/to>
显然,上述尝试无法遍历子目录,并且不处理名称冲突。
重命名每个可能是有意义的PDF
因为它是复制的。这recurse
标志似乎有用:
PS /home/nicholas/to>
PS /home/nicholas/to> ls
PS /home/nicholas/to>
PS /home/nicholas/to> Copy-Item -Path "/home/nicholas/from" -Destination "/home/nicholas/to" -Recurse
PS /home/nicholas/to>
PS /home/nicholas/to> tree
.
└── from
├── one
│ ├── a.pdf
│ ├── b.pdf
│ └── foo.txt
└── two
├── bar.txt
├── c.pdf
└── d.pdf
3 directories, 6 files
PS /home/nicholas/to>
不知道如何过滤掉txt
然而,文件并将所有内容放入一个目录中。
复制全部PDF
文件与some https://sid-500.com/2018/02/26/copy-item-and-remove-item-automate-copying-and-deleting-operations/成功:
PS /home/nicholas/to>
PS /home/nicholas/to> ls
PS /home/nicholas/to>
PS /home/nicholas/to> tree /home/nicholas/from/
/home/nicholas/from/
├── one
│ ├── a.pdf
│ ├── b.pdf
│ └── foo.txt
└── two
├── bar.txt
├── c.pdf
└── d.pdf
2 directories, 6 files
PS /home/nicholas/to>
PS /home/nicholas/to> Get-ChildItem /home/nicholas/from -File -Recurse | Copy-Item -Destination /home/nicholas/to -filter '*.pdf'
PS /home/nicholas/to>
PS /home/nicholas/to> tree
.
├── a.pdf
├── bar.txt
├── b.pdf
├── c.pdf
├── d.pdf
└── foo.txt
0 directories, 6 files
PS /home/nicholas/to>
但是如何添加一些逻辑来重命名和增加文件,其模式如下1.pdf
, 2.pdf
, etc?
希望将文件夹与 PDF“合并”为single https://adamtheautomator.com/copy-item/目录。