点击跳转至代码

简述下这个脚本的由来

我是个学委,总是需要帮老师收作业,就遇到了这些问题:

收作业浪费时间
作业命名不规范
需要清点未交名单

浪费时间在于,收作业是一种枯燥乏味又不需要大脑怎么参与还花时间的重复机械运动,谁都无法容忍把生命花费在这种活动上
作业命名少个空格多个下划线之类的,或者干脆只有姓名,这种问题学委都遇到过吧,狗看了都摇头,像我一开始强迫症,一个个改,后面改不动了,没那个心情了,差别不大直接上交,摆烂

收作业文件方式的变化

· 微信
一开始我是用微信收作业文件的,但这样就需要一直和同学们交际,一两个还好,关键三十几个,耗费时间又耗费精力,有时还会漏掉一两个消息没看到,回去一看微信文件又过期了,好家伙,辞任的心都有了

· 宿舍长
让宿舍长收吧,工作分担到了宿舍长身上,轻松了一点,但变化不大,有时还是得一个个催,文件还是一个个收

· **通
收到好心同学建议,直接在**通开门课,发个作业,大大提高工作效率,截止时间到了打开课程收作业就行,缺点是还是得一个一个收
啊你问老师为什么不直接用**通收作业? “啊老师我不会用呢”
我直接面容扭曲

· **通+script
最后这个script诞生了。**通可以直接把作业打包成压缩包,但每个同学的作业又是一个压缩包,还带有一些**通的数据文件,解压后还得接着解压,删除文件。接着就是规范命名,清点名单。于是我把这些功能写到script里了,直接解放双手
唯一的遗憾是已经大三了,收不了几次作业了,把这个留给有缘人吧

代码

文件分为

自动解压工具.bat
自动命名工具.bat
班级名单.txt

两个bat文件的功能都有文件说明,这里就不再赘述
需要注意的是,文件需要保存为ANSI编码格式,作业文件解压工具.bat需要绑定7z压缩器使用,winRAR的还没开发出来

自动解压工具.bat

@echo off & setlocal enabledelayedexpansion
::名称:学习通作业工具
::功能:帮助学委解压学习通下载的作业包
::用法:本文件与作业压缩包放在同一目录下
::          解压工具变量首次设置好即可;
::          设置完成后双击本文件运行
::版本:v1.3 Beta
::编辑:ZZT   2022.06.09
::
::
::---------------------解压工具变量----------------------+
::解压后删除原压缩包 Y/N
set AUTODEL=Y
::7z压缩器exe路径
set ZIP=D:\7-Zip\7z.exe
::删除含有以下关键词文件,使用正则表达式
set DELETE=其他-其他*,*数学*,*地理*
::---------------------------------------------------------+
echo.
echo ######学习通作业解压工具######
echo.
echo.
echo 检测到zip文件如下:
echo.
for %%i in (*.zip) do (echo  - %%~ni)
echo.
set /p FILENAME=输入zip文件名:::创建文件夹
if exist %FILENAME% (
rmdir /q /s %FILENAME%
rd /q /s %FILENAME%
)
md %FILENAME%::解压第一层压缩
%ZIP% x %FILENAME%.zip -o%FILENAME%::解压第二层压缩并删除压缩包和无关文件
cd %FILENAME%
for %%i in (*.zip) do %ZIP% x %%i & del %%i
for %%i in (%DELETE%) do del %%icd ..
if %AUTODEL%!=Y del %FILENAME%.zipecho.
echo 解压完成!
echo.pause > nul

自动命名工具.bat

@echo off & setlocal enabledelayedexpansion
::名称:自动命名工具
::功能:对班级Coursework进行自动格式化命名、输出未交名单
::用法:本文件与需命名文件放在同一目录下,配合 班级名单.txt 使用;
::          命名工具变量和命名格式按需求修改;
::          设置完成后双击本文件运行
::版本:v1.2 Beta
::编辑:ZETTA  2022.06.08
::
::-------------------命名工具变量------------------------+
::IDNUM表示取学号的位数,0为全部,-3为学号后三位
set IDNUM=-3
set CLASS=19计算机x班
set COURSE=课程名称
set SUFFIX=第x次Coursework
set list=班级名单.txt
set dlist=未交名单.txt
::---------------------------------------------------------+
set TAG=N
set NAME=xxx
set LIST=%list%
set DLIST=%dlist%echo.
echo.
echo ####自动命名工具####
echo.
echo.
::script所在目录是否存在班级名单
if not exist %LIST% (
echo 找不到 %LIST% !
echo 命名失败!
goto end
) echo. > %DLIST%
::获取班级名单里的ID和NAME
for /f "tokens=1-2" %%i in (%LIST%) do (
set NAME=%%i
set ID=%%j
::-----------------------------文件命名格式---------------------------------+
set PATTERN=!ID:~%IDNUM%! !CLASS! !NAME! !COURSE!!SUFFIX!
::---------------------------------------------------------------------------+
if exist *!NAME!* (
for %%a in (*!NAME!*) do (
echo %%~na%%~xa
echo 重命名为
echo !PATTERN!%%~xa
ren "%%a" "!PATTERN!%%~xa"
echo.
)
) else (
echo !NAME!没有交Coursework
echo.
echo !NAME! !ID! >> %DLIST%
set TAG=Y
)
)echo.
echo ######命名完成######
echo.if !TAG!==N (
echo ######无未交名单######
echo.
del 未交名单.txt
) else (
echo ######未交名单######
echo.
for /f %%i in (%DLIST%) do echo %%i
echo.
echo ##################
echo.
)echo.
echo OK!
echo.:end
pause > nul

班级名单.txt

学号 姓名
333 张三
444 李四

结尾

代码已上传gitee:https://gitee.com/z-zetta/script-to-collate-file

这脚本用了一天多时间写出来,可能有些bug,功能也不是很全,如果有错误和疑问,欢迎提出,如果有人用的话也可以进行改善

在此感谢所有写blog的人,帮助提供知识和经验

超星作业文件解压和自动命名脚本相关推荐

  1. WinRAR技巧:解压后自动打开解压好的文件夹

    WinRAR技巧:解压后自动打开解压好的文件夹 很多读者喜欢使用老牌的解压缩工具WinRAR,大家使用WinRAR解压文件之后的第一件事就是找到解压好的文件夹,双击文件夹,以便在里面找到自己想要的文件 ...

  2. tar 解压,重命名

    1.tar: Removing leading `/' from member names   问题: 首先应该明确:*nix系统中,使用tar对文件打包时,一般不建议使用绝对路径.通常是在两台环境相 ...

  3. Linux自动解压部署WEB项目脚本

    2019独角兽企业重金招聘Python工程师标准>>> rm -rf ../assets/ rm -rf ../WEB-INF/ unzip -oq bzw-service-app- ...

  4. php上传文件自动解压,PHP自动解压上传的rar文件

    关于z-index的总结 z-index的作用 很多时候需要把一个元素覆盖到另一个元素之上,比如登入弹出框等,这个时候就需要z-index属性出场了.所以呢,z-index就是调节层的显示优先级,决定 ...

  5. 【shell】压缩包解压密码暴力破解脚本工具源码

    本来一开始是打算用python的,但一想python写保存路径,到最后还是放弃了,因为python的目录写法,终究逃不掉 Windows c:/xxx/.Mac  ~/xxxx/ ,这就造成了平台上的 ...

  6. 超星未来发布新一代高级别自动驾驶车载计算平台

    5月25日,由中国汽车工程学会.国家智能网联汽车创新中心主办的第八届国际智能网联汽车技术年会(以下称"CICV 2021")在北京亦创国际会展中心举办.超星未来联合创始人.首席技术 ...

  7. linux解压gz.gz文件,linux解压tar.gz并重命名_linux解压tar.gz文件

    原标题:linux解压tar.gz并重命名_linux解压tar.gz文件 命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.t ...

  8. java 预览zip_java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载

    java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载 实现功能:zip文件上传,后台自动解压,Jstree树目录(遍历文件),editor.md预览 采用Spring+Sp ...

  9. macbook上好用的解压软件_全能解压 Mac下最好用的解压缩软件

    今天,小子要来分享的是Mac下一款好用的解压缩软件--全能解压,为什么说它好用呢?因为它拥有一个强大的功能--无需解压即可直接预览,这个功能对于很多朋友来说太实用了! 全能解压是一款RAR文件解压利器 ...

  10. Android开发之Zip下载解压

    本篇博客为需求而发烧,若有雷同需求code拿走不谢. 需求如下:点击Item,从服务器下载zip包到本地文件夹并解压,解压后的图片文件全部查询出来,用于界面预览 没有强制每次都下载zip包保持最新,如 ...

最新文章

  1. linux 文件管理 教程,Linux文件管理
  2. php的运算符实践输入年份,[php第四课]运算符
  3. SLAM综述之Lidar SLAM
  4. 双一流高校出新规:研究生未经导师同意发论文,不得用于毕业、评奖!
  5. 一文了解5G是什么,将如何影响我们的未来
  6. 工作227:小程序学习1开始布局页面
  7. java 二进制 定义_在Java中,我可以用二进制格式定义一个整数常量吗?
  8. java 正则表达式 分组(group)
  9. 大数据营销技术对企业有什么影响
  10. Fragstats|单一土地利用类型景观格局指数
  11. HTML基础标签和基本CSS行内样式
  12. 怎么解决图片用PSCC打开后,白色部分全部呈现米黄色?
  13. element-ui使用踩坑记录 2022/8/24
  14. 图形图像基础 之 gif介绍
  15. 开课通知 | 《AISHELL-3语音合成实战》课程
  16. Ipoe和Pppoe,宽带认证技术
  17. 您应该知道的:关于应用服务器的配置测算及计算公式
  18. 除了竞争,中美在自动驾驶领域可以有哪些合作
  19. 蜘蛛纸牌java课设_java蜘蛛纸牌游戏设计
  20. 【学习笔记】活用数据

热门文章

  1. openGL之API学习(一二七)dFdx、dFdy偏导数
  2. python 知乎 合并 pdf_怎么把多个pdf合并在一起?
  3. 弘辽科技:拒做“淘宝客”,可小红书的电商梦何以撑未来?
  4. 内存取证-Volatility安装使用以及一些CTF比赛题目
  5. OSWorkflow(转载)
  6. paddlepaddle_文件操作_画图操作_图片基本处理
  7. acp 适应性领导_什么是适应性领导?
  8. Spark应用启动报错:Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
  9. java web 组态,Java:Eclipse中使用WTP开发Web项目
  10. 杨浦区服务器维修,上海杨浦区dns服务器地址