首页 > 系统相关 >windows cmd拉取linux文件夹下的文件,并解压

windows cmd拉取linux文件夹下的文件,并解压

时间:2024-05-21 10:19:21浏览次数:15  
标签:dist zip windows cmd 拉取 Write 文件夹 Path FOLDER

前言:nginx静态文件从linux文件夹下拉取,然后放到windows下,并且解压

 需要安装 putty,用pscp命令

del-pull.bat文件,负责删除本地文件夹下所有文件,并且拉取数据

@echo off
setlocal

set FOLDER_PATH=C:\Users\admin\Desktop\yaya_nginx\web\

echo Deleting files in folder...
rmdir /s /q %FOLDER_PATH%

echo -----Files deleted successfully---
echo  password:---------yaya@197-----------

pscp -r [email protected]:"/root/home/web" "C:\Users\admin\Desktop\yaya_nginx"

endlocal

 

powershell脚本文件:负责解压文件

unzip.ps1

# 设置源目录路径  
$sourceDir = "C:\Users\admin\Desktop\yaya_nginx\web"  
  
# 获取源目录下的所有子目录  
$subDirs = Get-ChildItem -Path $sourceDir -Directory  
  
# 遍历每个子目录  
foreach ($dir in $subDirs) {  
    # 构造dist.zip文件的完整路径  
    $zipPath = Join-Path -Path $dir.FullName -ChildPath "dist.zip"  
      
    # 如果dist.zip文件存在  
    if (Test-Path -Path $zipPath) {  
        # 构造dist目录的完整路径  
        $distPath = Join-Path -Path $dir.FullName -ChildPath "dist"  
          
        # 如果dist目录不存在,则创建它  
        if (!(Test-Path -Path $distPath -PathType Container)) {  
            New-Item -ItemType Directory -Path $distPath | Out-Null  
        }  
          
        # 使用PowerShell的Expand-Archive命令解压文件  
        Expand-Archive -Path $zipPath -DestinationPath $distPath -Force  
    } else {  
        # 如果dist.zip文件不存在,则输出警告信息  
        Write-Warning "dist.zip not found in $($dir.FullName)"  
    }  
}

 

如果都用powershell脚本,完整命令:

# 设置文件夹路径
$FOLDER_PATH = "C:\Users\admin\Desktop\yaya_nginx\web\"

# 输出删除文件夹中的文件信息
Write-Host "--------------------------------Deleting files in folder...-------------------------------------"

# 尝试删除文件夹及其内容(PowerShell中没有rmdir命令,使用Remove-Item)
# 注意:Remove-Item -Recurse -Force 会删除文件夹及其所有内容,请小心使用
# 如果你只想清空文件夹而不删除它,请使用不同的方法
try {
    Remove-Item -Recurse -Force $FOLDER_PATH -ErrorAction Stop
    Write-Host "-----Files deleted successfully---"
}
catch {
    Write-Host "Error deleting folder: $_"
}

Write-Host "-------------------------pull  linux files password: yaya@1972 ------------------------------------------"

# 设置父文件夹路径(如果需要删除web文件夹后再使用父文件夹路径)
$FOLDER_PATH_PARENT = Split-Path -Parent $FOLDER_PATH

# 注意:这里我们假设不删除web文件夹,所以直接使用$FOLDER_PATH

# 使用pscp(PuTTY Secure Copy)命令从远程服务器复制文件夹
# 注意:PowerShell没有内建的pscp命令,你需要确保pscp.exe在你的PATH中,或者指定完整路径
try {
    # PowerShell中使用&来执行外部命令
    # 使用$FOLDER_PATH(如果web文件夹存在并且你想复制到这里)
    & pscp -r [email protected]:"/root/home/web" $FOLDER_PATH
    Write-Host "Files copied from remote server successfully"
}
catch {
    Write-Host "Error copying files from remote server: $_"
}

Write-Host "-------------------------pull  linux files end ------------------------------------------"

Write-Host "-------------------------files unzip ------------------------------------------"
# 设置源目录路径
$sourceDir = $FOLDER_PATH

# 获取源目录下的所有子目录
$subDirs = Get-ChildItem -Path $sourceDir -Directory

# 遍历每个子目录
foreach ($dir in $subDirs) {
    # 构造dist.zip文件的完整路径
    $zipPath = Join-Path -Path $dir.FullName -ChildPath "dist.zip"

    # 如果dist.zip文件存在
    if (Test-Path -Path $zipPath) {
        # 构造dist目录的完整路径
        $distPath = Join-Path -Path $dir.FullName -ChildPath "dist"

        # 如果dist目录不存在,则创建它
        if (!(Test-Path -Path $distPath -PathType Container)) {
            New-Item -ItemType Directory -Path $distPath | Out-Null
        }

        # 使用PowerShell的Expand-Archive命令解压文件
        Expand-Archive -Path $zipPath -DestinationPath $distPath -Force
    } else {
        # 如果dist.zip文件不存在,则输出警告信息
        Write-Warning "dist.zip not found in $($dir.FullName)"
    }
}
Write-Host "-------------------------files unzip  end ------------------------------------------"

 

标签:dist,zip,windows,cmd,拉取,Write,文件夹,Path,FOLDER
From: https://www.cnblogs.com/liran123/p/18203384

相关文章

  • 突破边界:基于Windows 11的高效渗透测试系统构建
    在这篇文章中,我将向大家推荐一款基于Windows11的渗透测试系统,由一位行业内大佬封装而成。这个名为Windows11PenetrationSuiteToolkit的项目旨在提供一个开箱即用的Windows渗透测试环境,方便安全专家和爱好者进行渗透测试工作。项目地址你可以在GitHub上找到该项目:W......
  • Mysql数据库安装卸载(windows)
    MySQL数据库环境准备MySQL下载、安装、配置、卸载、安装DBMS、使用DBMSMySQL版本及下载MySQL是Oracle的免费的关系型数据库,官网https://www.mysql.com/MySQL8.x新特性性能比5.7快支持NoSQL存储:5.7版本开始提供对NoSQL的支持,8.0.x作了改进窗口函数(新的查询方式)索引......
  • FFMPEG windows版本编译
    安装MSYS2:更新MSYS2系统:pacman-Syu打开正确的终端:?如果您要编译64位版本的FFmpeg)或MSYS2MinGW32-bit(如果您需要编译32位版本)。安装所需组件:?在打开的MinGW-w64终端中,安装编译FFmpeg所需的工具链、开发工具和依赖库:pacman-Sbase-develgitmingw-w64-x86_64-toolchainm......
  • 12代处理器在虚拟机中安装Windows98SE
    最近想把以前写的那个Windows98开始菜单完善一下,装个Windows98来参考参考。项目地址:https://github.com/zhaotianff/WindowsX.git路过的小伙伴可以帮忙点个star。  这里把安装过程分享一下。本文以VMware17虚拟机为例,介绍如何在12代处理器中安装Windows98SE。安装步骤......
  • Nexpose v6.6.252 for Linux & Windows - 漏洞扫描
    Nexposev6.6.252forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseMay15,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......
  • Windows搭建ntp服务器
    1、启用WindowsTime服务:打开“服务”管理工具(可以通过搜索栏输入services.msc)。找到“WindowsTime”服务,确保它已启动并设置为“自动”启动类型。2、配置注册表:使用管理员权限打开“注册表编辑器”(regedit)。导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3......
  • Windows包管理工具chocolatey安装
    Windows软件管理工具chocolatey安装背景:chocolatey作为windows软件管理工具下载JDK等工具,可以避免下载工具,修改环境变量配置,操作方便安装步骤官方指导个人操作以管理员身份运行Poweshell按照官网指导调整执行策略PSC:\WINDOWS\system32>Get-ExecutionPolicyRestri......
  • Windows 日志也可能会被篡改和删除。这可能是因为某些恶意软件试图隐藏其存在或活动,或
    Windows日志也可能会被篡改和删除。这可能是因为某些恶意软件试图隐藏其存在或活动,或者是因为攻击者试图擦除他们的痕迹。为了防止日志的篡改和删除,用户应该采取以下措施:限制对日志的访问权限,以确保只有受信任的用户才能访问和修改日志。定期备份日志,并在必要时将其保......
  • 关于在windows电脑上实现linux相关
    windows电脑毫无疑问是我们使用最多的电脑,也有一些人在接触Linux后变成了Linux的狂热分子。虽然Linux很好很酷,但是windows才是我们最熟悉的,而且相对稳定一些,因此这部分人往往喜欢用Linux但是又离不开windows,因此本篇文章在此讨论相关内容虚拟机1.WSLWSL(WindowsSubsystemfor......
  • 【PYTHON3】环境搭建+编程学习之路的开始——Windows系统
    一、概述在学习python开发语言之前需要安装好开发语言环境(也就是常说的开发环境)开发环境主要有:解释器和编辑器IDE,而其中的解释器是用来将代码转换成机器语言,python语言也就是解释器;编辑器用来写代码逻辑,python语言推荐的是pycharm,它是IDE集成开发环境,这里面有开发时需要的工具......