请教:复制文件夹

想达到一个用命令关键字复制指定文件夹(及其子文件夹和子文件)到当前目录的效果。

搜索了论坛里关于新建文件和新建文件夹的操作,没有成功,请教一下如何处理。

路径 参数 跟工作目录是该填什么的。。

「指定文件夹」应该是指用 Listary 搜索到的文件夹,那么需求是建立一个 Action(动作)来复制该目录成为当前目录的子目录。方法如下:

热键:     <自行设置或留空>
关键字:   <自行设置或留空>
名称:     复制到当前目录(成为子项目)
路径:     powershell.exe
参数:     -c Copy-Item "{action_path}" -Recurse

如果是要将源目录的子项目复制到当前目录,则参数改为 -c Copy-Item "{action_path}\*" -Recurse;也可使用 xcopy 命令,带 /e "{action_path}" 参数,启动可能比 powershell 快一些。

谢谢回答我的问题。这里有一些小误解,我补充一下。

在业务中新建文件夹后 需要复制一些标准文件夹和子文件到当前文件夹里。
所以我分析应该还是命令。

我感觉不能实现。

目前,“动作”支持的可变参数是:


“命令”支持的可变参数是:
image

但是你同时需要“搜索结果的路径”+“当前所在目录”。所以我感觉不行。可以请 @Channing 看看。

嗯。我的需求不需要搜索 是在已打开的文件内添加标准文件夹及子文件。

具体业务场景大概如下 新建项目文件夹后 需要在该文件夹内快速添加项目开发标准文件夹模板 1.市场开发 2.业务方案 3.项目文件 部分文件夹模板内含子文件模板 如1.1市场调研报告.dox 等。

复制的源目录的路径是固定的吗?那么添加命令:

路径:     powershell.exe
参数:     -c Copy-Item "<源目录路径>" -Recurse

工作目录 留空,默认是当前目录。

2 Likes

按你说的搞定了 谢谢!

警告:由于 Command 或 Action 运行 powershell.exe 时工作目录错误 所反馈的问题,在某些版本中不能使用该参数,至少要修改参数以确保工作目录为当前目录,如

参数:        -c Set-Location -LiteralPath \"{current_path}\"; <更多参数>

另外一个修补是传递双引号需要用 \ 转义或三写为 """,否则在(被双引号包围的)参数含空格时会出错。原则上 -c 的参数应当整体再用一对引号括起,但是在 Listary 中似乎可以省去。

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.