当前位置: 首页 > news >正文

【powershell】Windows环境powershell 运维之历史文件压缩清理

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

感谢点赞和关注 ,每天进步一点点!加油!

目录

一、Power Shell概述

1.1 Windows Power Shell简介

1.2 PowerShell是什么

1.3 windows执行策略更改

二、PowerShell使用

2.1 文件复制

2.2 文件压缩清理


一、Power Shell概述


1.1 Windows Power Shell简介


Windows PowerShell 是微软发布的一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。

引入了许多非常有用的新概念,从而进一步扩展了在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。

1.2 PowerShell是什么


PowerShell,从名字可以知道,他首先是一个shell,shell的意思就是和Linux的bash等一样、和原来的cmd一样就是在里边敲命令(可执行文件)使用;而Power就意味他是一个功能强大的shell,从面向用户而言,个人觉得其功能强大体现在以下几方面:

(1) 微软态度。微软是真正的在推行PowerShell,包括Office等更多自家软件,底层都是调用PowerShell来实现。

(2) 兼容性cmd。PowerShell包含原先cmd的所有命令,原先命令使用形式不变,在是在其基础上添加命令。

(3) 对标Linux。PowerShell使用了Linux Shell的思想,也就是所有的系统操作、配置,都可以在shell中敲写命令实现。

(4) 统一的命令格式和自包含的文档。PowerShell的两个优点:第一点是PowerShell所有命令使用统一的cmdlet命令格式(也就是“动词-名词”的格式,比如get-process)会使人很容易记住;第二点这里所谓自包含是指你要干一件事你可以逐步找到要做的事所需的所有命令,即便你记不得命令你也可以很容易找到,你找到命令看文档就很容易知道怎么使用。

1.3 windows执行策略更改


右击开始找到 powershell 管理员

进入powershell命令行执行如下命令一定要执行!

执行如下命令,回车选择Y( 复制后鼠标 右击可粘贴,也可将执行的命令放到临时文本中再复制到命令行执行)

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

执行如下命令,回车选择Y

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope localMachine

执行下面的命令查看 CurrentUser,LocalMachine 是否已改为 Bypass

get-executionpolicy -list

修改后的执行策略检查

检查通过后,关闭powershell 即可。


二、PowerShell使用


2.1 文件复制


文件有一个目录拷贝到另一个目录

write-host "copy file data start ..."
# 当前日期
$fileDate=Get-Date -Format 'yyyy-MM-dd'
write-host $fileDate# 从当天的目录下拷贝文件到目标路径
Copy-Item  D:\test\00000\$fileDate\*   D:\test\00000\bak

执行结果

PowerShell ISE 提供模块方法查询,可以对ps脚本进行编辑运行和测试

2.2 文件压缩清理


获取文件夹下7天之前的天文件夹目录进行打包压缩,并删除7天之前的文件夹。压缩使用7-zip。

######################################################
#    Desc: File Compress 1.0                         #
#    Author: kangll                                  #
#    soft: Use 7-zip                                 #
#    Date: 2023-12-13                                #
################################################################################## 全局变量 #################### 设置7-zip命令程序路径
$zip7="D:\test\7-Zip\7z.exe"# 当天日期
$backup_date=get-date -format "yyyy-MM-dd"# 获取一周前的日期
$weekAgo=(get-date).adddays(-7)| get-date -format "yyyy-MM-dd"########################## bak file #######################
# 定位到待压缩的文件夹
$bak_file="D:\test\reid_traj"# 保存的路径
$bak_save_dir="D:\test\reid_traj"# 文件夹除当天外的日期文件夹都打包
Get-ChildItem $bak_file | ForEach-Object -Process{if ($_.CreationTime -lt $backup_date){# 使用7zip将轨迹文件夹目录下文件夹件压缩为zip格式 $dateStr=$_.name& $zip7 a -tzip $bak_save_dir\$dateStr.zip $bak_file\$dateStr}
}# 列出一周前的文件夹删除,除当天外的所有日期均打包完成
Get-ChildItem $bak_file | ForEach-Object -Process{if ($_.CreationTime -lt $weekAgo){# $_.Fullname ,获取文件夹全路径删除,D:\test\reid_traj\2023-05-11Remove-Item $_.Fullname  -Recurse}
}

执行完成 按照天路径打包

我们可以看下bat脚本,bat执行sqlServer存储过程。

:: 带"-"的日期
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set today2=%date:~0,4%%date:~5,2%%date:~8,2%:: 数据库连接信息
set execOSQL="osql" -S localhost\ipva   -U sa -P 123456 -d test -Q:: 存储过程, windows环境执行存储过程将文件插入到表中
set "hhh=loadFile 'D:\test\reid_trace\%today%','%today2%'":: 存储过程执行
%loadFile.sql%
%execOSQL% "exec %hhh%"
if %errorlevel% == 0 (echo  -------------------- Procedure %hhh% executer successfully! --------------------) else (echo Procedure %hhh% executer failed!)

bat 和PS个人使用下来 感谢PS脚本更加强大和简单,BAT看起来就有点臃肿并复杂难懂。

http://www.lryc.cn/news/264594.html

相关文章:

  • 【Linux】Linux线程概念和线程控制
  • Flink cdc3.0同步实例(动态变更表结构、分库分表同步)
  • 国产Apple Find My认证芯片哪里找,伦茨科技ST17H6x芯片可以帮到您
  • 肺癌相关知识
  • ChimeraX使用教程-安装及基本操作
  • 【小黑嵌入式系统第十一课】μC/OS-III程序设计基础(一)——任务设计、任务管理(创建基本状态内部任务)、任务调度、系统函数
  • Redis一些常用的技术
  • 基于QPainter 绘图图片绕绘制设备中心旋转
  • 计算机网络(4):网络层
  • 动态内存分配(malloc和free​、calloc和realloc​)
  • C语言---井字棋(三子棋)
  • [Kubernetes]3. k8s集群Service详解
  • C++ 指定范围内递增初始化一个vector<int> | Python: list(range(31, 90))
  • 【Java之数据结构与算法】
  • 爬虫scrapy中间件的使用
  • 普冉(PUYA)单片机开发笔记 [完结篇]:使用体会
  • Elasticsearch:生成 AI 中的微调与 RAG
  • ip静态好还是dhcp好?
  • PolarDB-X、OceanBase、CockroachDB、TiDB二级索引写入性能测评
  • Convolutional Neural Network(CNN)——卷积神经网络
  • 鸿蒙开发基本概念
  • Open CV 图像处理基础:(二)从基本概念到实践操作
  • 【MAC】M2 安装docker 与 mysql
  • 轻量级web开发框架Flask本地部署及无公网ip远程访问界面
  • 用最通俗的语言讲解 TCP “三次握手,四次挥手”
  • 使用RedisCacheWriter#clean在线异步地批量扫描匹配删除缓存数据-spring-data-redis
  • 机器视觉:AI赋能缺陷检测,铸就芯片产品的大算力与高能效
  • (9)Linux Git的介绍以及缓冲区
  • 华为云之ECS云产品快速入门
  • tcp 的限制 (TCP_WRAPPERS)