[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 使用rsync进行同步如何获取指定目标目录下多个子文件的名称或路径

本帖最后由 pcl_test 于 2016-10-13 19:32 编辑

请教大神一个rsync同步的问题
每台服务器D盘根目录下有几个相同结构的应用目录,如D:\APP1、D:\APP2、D:\APP3,这些文件夹前面的APP是固定,后面的数字定期会变化。
用rsync从服务端同步文件到这些APP目录中,制作的bat脚本以rsync://ip/file /cygdrive/D/APP*这样的形式无法识别到目录
只能通过以下的方式,APP后面的数字变化之后,手动修改脚本里的名称,
rsync://ip/file /cygdrive/D/APP1
rsync://ip/file /cygdrive/D/APP2
rsync://ip/file /cygdrive/D/APP3

不知道可不可以实现这样效果的rsync://ip/file /cygdrive/D/APP*,APP后面的数字变化后不需要手动去修改,可以直接认到
1

评分人数

本帖最后由 Bella 于 2016-10-13 21:33 编辑

写个循环用dir把app*扩展出来, 分别执行
  1. rsync src dest
复制代码
我理解的是你想这么写
  1. rsync src dest*
复制代码
测试了一下, cmd和rsync都不会扩展通配符
bash会扩展通配符, 但是这里只保留最后一个文件夹
1

评分人数

TOP

本帖最后由 chulian 于 2016-10-14 00:33 编辑

回复 2# Bella

rsync src dest*
谢谢~确实是想这样的,就是有多个相同名称前缀的目录,前缀后面的数字可能会随时变化,比如当前路径下三个目录dest1、dest2、dest3,过了一段时间目录名称变成了dest1x、dest2x、dest3x。
就是想rsync  src dest* ,能识别到当前路径下dest开头的三个文件夹,把文件到同步这三个目录中。这样即使dest目录后缀的数字变化了,也不需要去修改rsync同步脚本里的目录名称。
(现在是rsync同步脚本里手动指定的具体目录名称,一旦后缀名称变化,就需要修改)

TOP

  1. @echo off
  2. for /d %%a in (D:\APP*) do set "fd=%%a"&call echo;rsync://ip/file /cygdrive/%%fd::\=/%%
  3. pause
复制代码

TOP

本帖最后由 chulian 于 2016-10-14 01:44 编辑

回复 4# pcl_test

[attach]10175[/attach]
多谢版主大神!!!可以显示具体目录了,不过rsync同步并没有执行,可能是哪里的问题呀

TOP

回复 5# chulian

echo的作用是什么
举个栗子,查看系统版本
ver
echo;ver
pause

TOP

回复 6# pcl_test


   不好意思,这个了解。。屏幕太小了,刚才没注意,太谢谢您了!!!

TOP

回复 6# pcl_test
这么晚还回复帮我解决了这个问题,真的是太感激您了!!!版主早点休息~

TOP

返回列表