Linux下使用smbclient传输文件夹(包括文件)脚本

2023-11-11

遍历文件夹,是文件就put上去,不是文件就创建目录。
根据自己的需求改一下前面的directoryserverpathdes_directory就可以用了

在代码中smbclient中使用了-N,因为我用的是匿名登录,加了-N就不需要提示输入密码了。

#!/bin/bash

read -p "请输入一个字符串:" string  

# 指定要遍历的文件夹路径  
directory="play-$string"
echo "你输入的版本号是:$string, 遍历的文件夹为:$directory"

# smb服务器
serverpath="//192.168.10.10/研发"
# smb服务器目标文件夹下
des_directory="软件"

# 递归遍历函数
function handleDir {
    # 循环目录  
    for file in "$1"/*  
    do  
        # 如果是文件,则直接处理  
        if [ -f "$file" ]  
        then  
            # 上传文件 put
            smbclient $serverpath -N -c "cd $des_directory;put ./$file ./$file"
        fi  

        # 如果是目录,创建目录后,递归处理  
        if [ -d "$file" ]  
        then  
            # 在smb服务器创建该文件夹
            smbclient $serverpath -N -c "cd $des_directory;mkdir ./$file"
            # 递归处理子目录  
            handleDir "$file"
        fi  
    done 
}

# 判断文件夹在不在
if test -d $directory; then
    # 在smb服务起,创建这个文件夹
    smbclient $serverpath -N  -c "cd $des_directory;mkdir $directory"

    #开始遍历目录
    handleDir $directory
else
    echo "文件夹不存在!"
fi

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下使用smbclient传输文件夹(包括文件)脚本 的相关文章

随机推荐

  • PHP中的正规表达式

    PHP继承 NIX的一贯传统 完全支持正规表达式的处理 正规表达式提供了一种高级的 但不直观的字符串匹配和处理的方法 用过PERL的正规表达式的朋友都知道 正规表达式的功能非常强大 但学起来不是那么容易 比如 这段有效却难以理解的代码足够使
  • 大数据毕业设计 校园学生一卡通数据分析与可视化 - python

    文章目录 0 项目简介 任务 1数据导入与预处理 任务 1 1 探查数据质量并进行缺失值和异常值处理 1 1 2检查重复值 1 1 3数据内容总览 1 1 4数据分布总览 1 1 5消费金额和消费次数观察消费金额和消费次数的散点图 1 1
  • 企业微信 vue ios 出现 63002,INVALID SIGNATURE问题

    下面是官网的说法 可以先按下面的方法进行排查排查 概述 微信开放文档 1 确认签名算法正确 可用http mp weixin qq com debug cgi bin sandbox t jsapisign 页面工具进行校验 2 确认con
  • [创业之路-71] :创业思维与打工思维的区别

    其实打工思维和创业思维最核心的本质区别是你是否愿意去尝试 很多时候我打工的时候老板没发现我的潜质 所以我去创业了 这个没有 你打工的时候一定有一项极其长的长项 只不过当时你可能也没意识到 老板没意识到 所谓创业者和职场人没有本质的差异 但创
  • 如何使用Python的Pyecharts制作漂亮的Tree 树图?

    Pyecharts是一个基于Echarts的Python数据可视化库 可以很容易地生成各种漂亮的图表 本文介绍如何使用Pyecharts绘制Tree树图 安装Pyecharts 使用pip安装Pyecharts pip install py
  • 在IDE中使用Bito - 一个不需要VPN就可以使用的chatgpt

    文章目录 在IDE中使用Bito 什么是Bito 为什么要使用Bito Bito可以做什么 如何在IDE中安装Bito 使用Bito 在IDE中使用Bito 什么是Bito 用他自己的介绍就是 Bito s AI helps develop
  • fetch整个仓库 github_【每日github】B站开源的播放器、markdown插件等

    第15篇 1 Modernizr Modernizr Modernizr帮助我们检测浏览器是否实现了某个feature 如果实现了那么开发人员就可以充分利用这个feature做一些工作 反之没有实现开发人员也好提供一个fallback 所以
  • neo4j清空数据库

    版本为 neo4j community 4 4 6 使用py2neo删除 fimport py2neo from py2neo import Graph Node Relationship NodeMatcher g Graph http
  • Git(六):基本命令(2):复位、修改、分支合并与日志

    目录 9 reset 复位 9 1 描述 9 2 基本用法 9 2 1 回滚添加操作 9 2 2 回滚最近一次提交 9 2 3 回滚最近几次提交 9 2 4 回滚 pull 9 2 5 回滚 merge 9 2 6 区别 9 2 7 中断的
  • Velocity不用愁!Velocity系统的前端工程化之路

    Velocity是一个基于Java的Web页面模版引擎 十多年前 Velocity将Java代码从Web页面中分离出来 使得开发者能够并行网页开发和Java开发 随着十年前后端分离的浪潮涌动 回首再面对这些基于Velocity的旧系统 无论
  • 狂神说Linux学习笔记整理

    1 Linux简介 Linux 全称GNU Linux 是一种免费使用和自由传播的类UNIX操作系统 其内核由林纳斯 本纳第克特 托瓦兹于1991年10月5日首次发布 它主要受到Minix和Unix思想的启发 是一个基于POSIX的多用户
  • 最强Http缓存策略之强缓存和协商缓存的详解与应用实例

    HTTP缓存是指浏览器或者代理服务器将已经请求过的资源保存到本地 以便下次请求时能够直接从缓存中获取资源 从而减少网络请求次数 提高网页的加载速度和用户体验 缓存分为强缓存和协商缓存两种模式 一 强缓存 强缓存是指浏览器直接从本地缓存中获取
  • Mybatis Plus 入门 简单的CRUD 使用详解 条件查询 分页查询 DML操作 MP代码生成器

    Mybatis Plus入门 MP是 MybatisPlus 简称MP 是一个 Mybatis 的增强工具 在 Mybatis 的基础上只做增强不做改变 MP为简化开发 提高效率而生 它已经封装好了单表curd方法 我们直接调用这些方法就能
  • java引入bean代码_Spring学习笔记之通过Java代码装配Bean

    自建博客地址 https bytelife net 欢迎访问 本文为博客自动同步文章 为了更好的阅读体验 建议您移步至我的博客 虽然很多场景下可以使用组件扫描和自动装配来实现Spring的自动化配置 但有些时候自动化配置的方案是行不通的 因
  • java 图片验证码

    image jsp 主要是采用下面导入的几个包来绘制 验证码图片
  • 【activiti 入门】springboot 集成activiti6.0的demo

    环境 jdk 1 8 maven 3 0 IDEA插件之actiBPM springboot2 0 activiti6 0 mysql数据库 具体demo地址 https download csdn net download qq 3333
  • ThreadCreationCmp

    package io github viscent mtia ch1 import io github viscent mtia util Tools public class ThreadCreationCmp public static
  • 时序预测

    时序预测 MATLAB实现SSA GRU 麻雀算法优化门控循环单元 时间序列预测 目录 时序预测 MATLAB实现SSA GRU 麻雀算法优化门控循环单元 时间序列预测 预测效果 基本介绍 模型介绍 程序设计 参考资料 预测效果 基本介绍
  • WCF:The maximum string content length quota (8192) has been exceeded while reading XML data

    修改接收端的WCF config文件 注意 如果server端接收request超长 则修改server端config 如果是client 接收response超长 则修改client端 建议两边都修改 保持一致
  • Linux下使用smbclient传输文件夹(包括文件)脚本

    遍历文件夹 是文件就put上去 不是文件就创建目录 根据自己的需求改一下前面的directory serverpath des directory就可以用了 在代码中smbclient中使用了 N 因为我用的是匿名登录 加了 N就不需要提示