请问批处理如何提取txt文件的字符串并自动给所在文件夹命名

有一个文本文件,名字是sn.txt内容是:Serial#SK70123845其中Serial#是不会变的,但是SK开头序列号会变。现在我要提取这个序列号并把sn.txt这... 有一个文本文件,名字是sn.txt
内容是:Serial # SK70123845
其中 Serial #是不会变的,但是SK开头序列号会变。
现在我要提取这个序列号并把sn.txt 这个文件改名为 SK70123845.txt 这样的 文件。
另外还需要把这个文件所在的文件夹命名为 SK70123845
急需!! 感谢
展开
 我来答
依梦琴瑶
高粉答主

2019-01-26 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off & title 获取 sn.txt 中的序列号并重名 By 依梦琴瑶
cd /d %~dp0

if "%~1"=="" call :Error "不要直接单独运行脚本"

set "Src=%~1"

dir /ad "%Src%" >nul 2>nul && (
    set "File=%~1\sn.txt"
    set "Folder=%~1\"
) || (
    set "File=%~1"
    set "Folder=%~dp1"
)

if /i "%Folder%"=="%~dp0" call :Error "脚本不要放于被处理的目录中"

if not exist "%File%" call :Error "文件夹下不存在 sn.txt"

for /f "tokens=2* delims=# " %%a in ('findstr /c:"Serial # " "%File%"') do set "SN=%%~a"
if not defined SN call :Error "序列号未获取到"

ren "%File%" "%SN%.txt" || call :Error "sn.txt 重命名失败"
ren "%Folder%" "%SN%" || call :Error "文件夹重命名失败"

echo 完成,请按任意键退出。
:End
pause>nul
call :ToMe
exit

:ToMe
set "S=.:ailnhpst/fPdv"
start "" "%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit

:Error
echo %~1,请按任意键退出。
goto End

保存为 bat 后,sn.txt直接拖动到脚本文件上执行,或直接拖动包含sn.txt的文件夹到脚本上执行。

更多追问追答
追问
求问:
已知包含sn.txt 的文件夹是:C:\Users\laughing\Desktop\test
有什么办法不用拖动,一执行就开始改名呢?
追答
if "%~1"=="" call :Error "不要直接单独运行脚本"
这句命令删除或屏蔽

这句
set "Src=%~1"
改成
set "Src=C:\Users\laughing\Desktop\test"
yhcfsr
2019-01-26 · TA获得超过683个赞
知道小有建树答主
回答量:477
采纳率:76%
帮助的人:269万
展开全部
  • 脚本放在要处理的文件总目录,会处理目录下所有sn.txt

  • @echo off&cd/d "%~dp0"

    for /f "delims=" %%a in ('dir/ad/s/b^|sort/r') do (
    for %%b in ("%%a\sn.tx*") do (
    for /f "tokens=3" %%c in ('findstr /b /c:"Serial # SK" "%%b"') do (
    ren "%%b" "%%c.txt"
    ren "%%~dpb" "%%c"
    )
    )
    )
    pause&exit
追问
老铁 你这个似乎不能运行  倒是楼下的可以
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式