怎样把多个学生的作业的文件名换成对应的学号和姓名?
1.在某文件夹里面,将原始作业文件(例如1.pdf)复制黏贴n-1次,n=学生数。
2.去掉所有文件名中的空格(不知为何要这样,上次是不需要的)
在上述文件夹里面建一个文件,输入
@echo off
Setlocal Enabledelayedexpansion
set "str= "
for /f "delims=" %%i in ('dir /b *.*') do (
set "var=%%i" & ren "%%i" "!var:%str%=!")
powershell创建目录exit
保存。扩展名改为bat。双击qkg.bat,即可去掉本文件夹中所有文件名中的空格。
3. 去掉所有文件名中的圆括号(不知为何要这样,上次是不需要的)
在上述文件夹里面建一个文件,输入
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION
FOR %%a in (*) do (
set "name=%%a"
set "name=!name:(=!"
set "name=!name:)=!"
ren "%%a" "!name!")
exit
保存。扩展名改为bat。双击qkh.bat,即可去掉所有文件名中的左右圆括号。
4. 把文件夹里面的文件名复制到excel表中。
在文件夹空白处,shift+右击鼠标,选择“在此处打开Powershell窗口(S)”,在Powershell窗口中输入命令: dir *.* &,文件夹中产生1.txt文件,文件名都在此txt文件中。打开excel,点击菜单:”数据”---"自文本”,选择1.txt文件,”导入”, “固定宽度”,“下一步”,左键按住分列线并拖至指定位置(使文件名所在列前面没有空格),“下一步”,shift+左击不需要的列,变黑,“不导入此列(跳过)(I)”,“完成”。指定文件名列黏贴到现有excel工作表的位置(最好接近左上角位置的单元格),‘’确定‘’。
4.在学生名单excel 表里面,把学号姓名和文件扩展名字符串连接成新的文件名字符串。
在现有excel工作表的文件名列的右侧依次黏贴学生学号列,姓名列和文件扩展名列(各行扩展名都相同,例如都是.pdf),用字符串连接函数(例如CONCATENATE(B8,C8,D8)),把同一行的学号,姓名,扩展名字符串连接在一起,形成新的文件名列。在文件名列的右侧,再用字符串连接函数CONCATENATE("ren ",A8," ",E8),形成命令字符串(即在上述Powershell中执行作业文件名换成该生的学号和姓名的命令)。
5.在Powershell中执行命令
复制上述excel工作表的命令字符串所在列,黏贴到上述Powershell窗口中,回车,即可完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论