首页 > 其他分享 >一个脚本 专治杂乱

一个脚本 专治杂乱

时间:2023-08-19 17:04:18浏览次数:16  
标签:专治 脚本 文件 base 杂乱 file path now os

今天偶尔上服务器一看,我靠,我的文件真的乱!

一个脚本 专治杂乱_文件名

这还得了了,我要是长年累月的去上传文件,这不得堆积成山了,到时候我想去维护都很难了。我是shigen, 作为强迫症患者,我哪能忍,必须整治,必须整治!


整改

我要采取新的命名方式了,年月/文件名,意思是按照年月对文件进行分组,废话不多说,上代码。这次我选取的是shell脚本,当然,shigen有写代码的神器在手。

#!/bin/bash
# 匹配的文件名模式
file_pattern="2023*.png"

# 遍历所有匹配的文件
for file_name in $file_pattern; do
    # 提取年份和月份
    year_month="${file_name:0:6}"

    # 创建目标文件夹路径
    target_dir="./$year_month"

    # 如果目标文件夹不存在,则创建它
    mkdir -p "$target_dir"

    # 移动文件
    mv "$file_name" "$target_dir"

    echo "文件已移动到目标文件夹:$target_dir/$file_name"
done

其实也挺简单,根据文件名模式找到符合条件的文件,再去截取文件名获得文件的年月,之后就是创建文件夹移动了。最终的效果如下:

一个脚本 专治杂乱_文件名_02

可以看到文件是按照年月来分级的,目前的话我的文件主要分布在两个文件夹里,正好原来保存的也是保存的两个月的文件。但是治标不治本,根治它还得在代码里。

file_save_path = os.path.join(base_path, datetime.now().strftime('%Y%m%d%H%M%S') +'.png')

明显看到,这个是直接放在base_path下边了。和我预想的结果差了很多了。这里就是根本,必须得去修改一下

now = datetime.now()
cur_base_path = os.path.join(base_path, now.strftime("%Y%m%d"))
if not os.path.exists(cur_base_path):
  os.makedirs(cur_base_path)
  file_save_path = os.path.join(cur_base_path, now.strftime('%Y%m%d%H%M%S') +'.png')

标签:专治,脚本,文件,base,杂乱,file,path,now,os
From: https://blog.51cto.com/u_16039040/7150588

相关文章

  • linux之shell脚本quickStart
    这篇文章主要参考于《跟老男孩学linux运维:Shell编程实战》,方便写shell脚本时参考,只列一些shell脚本中的容易混淆的知识点。目录1变量1.1普通变量1.2shell特殊变量1.3shell特殊扩展变量2运算符2.1空格2.2(())与[]2.3||与&&3常用命令3.1read3.2echo3.3eval3.4双......
  • dart集成shell脚本调用功能
    pubspec.yaml里添加依赖:shell:anyimport'dart:io';import'package:shell/shell.dart';voidmain(List<String>arguments)async{varshell=Shell();varpassword=Platform.environment['PASSWORD'];print('Passw......
  • windows批量telnet脚本
    在windows服务器上,经常需要批量telnet大量地址段端口,来确认网络是否畅通。如果一个个telnet耗时耗力,使用其他第三方程序,则担心不合规,有影响。因此考虑使用windows批处理或者powershell来编写思路写一个input文件,将ip和端口信息保存脚本从input文件逐行读取,循环telnet,将不通的端口记......
  • 分布式锁-lua脚本
    //工具类@ComponentpublicclassRedisLock{@AutowiredprivateRedisTemplateredisTemplate;//时间轮异步定时执行privateHashedWheelTimertimer=newHashedWheelTimer();privateDefaultRedisScriptaddTimeScript;{DefaultR......
  • accesskey_tools:一款针对云环境的多功能利用脚本工具
    一、 关于accesskey_tools"accesskey_tools"是一个基于Python开发的多平台云环境利用辅助脚本。该工具可用于渗透测试中,因开发的不规范,以及一些其它漏洞,拿到泄漏AK/SK的情况下,测试人员可以直接利用这些凭证对云服务器进行测试,及时修复风险并采取相应措施,确保云环境中的敏感凭......
  • 脚本保存
    #!/bin/bash#LoRAtrainscriptby@Akegarasumodifyby@bdsqlsz#TrainModel|训练模式model="sdxl_lora"#lora、db、sdxl_lora、sdxl_db、contralnet(unfinished)#Traindatapath|设置训练用模型、图片pretrained_model="./sd-models/astreapixieXL.safetenso......
  • 使用油猴脚本,自动填写Jira任务
    公司使用Jira作为日常管理,所以Jira填写就比较频繁了,我做了一个示例,剩下的功能就各位自己添加吧//==UserScript==//@nameJira填写//@namespacehttp://tampermonkey.net///@version0.1//@description自动填充,每周填写的任务计划//@author......
  • 1分钟看懂:什么是跨站脚本攻击?
    跨站脚本攻击,又叫XSS攻击。是指:攻击者将恶意脚本代码嵌入到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,入侵用户账户,窃取用户信息或执行更具危险性的侵犯行为。XSS攻击有多种攻击类型,其中最为常见、危害最大的就是存储型XSS攻击。举个栗子......
  • 30个shell脚本简单示例
    30个简单且常用的LinuxShell脚本命令及示例,有用~~时代Java 2023-08-1807:40 发表于北京↑ 点击上面 “时代Java”关注我们,关注新技术,学习新知识!shell一直是类Unix系统的本地命令行解释器。它已被证明是Unix的主要功能之一,并发展成为一个全新的主题。Linux提供了各......
  • Linux实用运维脚本分享
     编辑Linux实用运维脚本分享......