powershell - 将“此文件夹”复制到网络驱动器(Robocopy 或 PowerShell)
问题描述
在本地驱动器上有这样的文件夹结构,在网络驱动器上有类似的结构
C:\Documents\Projects\
\\myServer\Storage\Projects\
对于每个新项目,我都会在本地创建文件夹,例如
\Projects\abc\Subfolder1
\Projects\abc\Subfolder2
我需要 PowerShell 或批处理文件。批处理存储在文件夹 abc 中,它将执行
Robocopy C:\Documents\Projects\abc \\myServer\Storage\Projects\abc
(当然有些开关是合理的)
下一个项目,例如 xyz
\Projects\abc\Subfolder1
\Projects\abc\Subfolder2
我预计
Robocopy C:\Documents\Projects\xyz \\myServer\Storage\Projects\xyz
每次创建新项目时,我都会复制应该包含批处理的示例文件夹结构,以便我可以快速将项目复制到网络,
我认为这可以通过使用本地和服务器基本路径的变量或通过执行 som 来解决
解决方案
我不知道您需要哪些 Robocopy 参数,但这可能是一个开始。这假定您将此脚本放在每个 \Projects\abc 目录中并从那里运行它。
$DestinationShare = '\\myServer\Storage'
$SourcePath = $PSScriptRoot
$DestinationPath = $PSScriptRoot -replace ".*?(?<path>\\Projects\\.*)","$DestinationShare`${path}"
robocopy $SourcePath $DestinationPath
这可以变成一个静态编码更少的函数。
在需要时仅对整个 Projects 目录进行 robocopy 会更简单。
推荐阅读
- npm - 如何确定是否应将 deps 放入“devDependencies”或“peerDependencies”
- scala - 迁移到 Scala3 后范围基准测试缓慢
- python - 使用 PyAudio 读取流时,每 1024 字节(微)帧后减少 1 毫秒的延迟
- python - 熊猫时差计算列不更新
- python - 重新绑定可迭代导致 UnbindLocalError (?)
- asynchronous - 在 Blazor Webassembly 中初始化服务
- java - aws camunda zeebe ClientStatusException:超过 19.999991631 秒后的最后期限
- reactjs - 如果数据不是未定义的,你怎么能映射?
- javascript - 函数返回未捕获的引用错误
- node.js - 如何解决错误读取 ECONNRESET 公牛库