[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理怎么获取变量=文本内容,10元支付宝 已解决

本帖最后由 661100a 于 2018-8-29 13:10 编辑

怎么获取变量=文本内容,谢谢帮忙 研究半天了
1.txt内容

13438204183
15114309774
---------------


bat文件名为 a (1).bat a (2).bat ---a (99).bat  或者 任意名字 (1).bat ~ 任意名字 (99).bat
内容为:
set m=13438204183

如果打开文件名  (2).bat 那么就获取到1.txt里面的第二行数值
set m=15114309774

回复 3# zaqmlp


    楼主方法很巧妙more直接定位过去

TOP

回复 9# zaqmlp


    不错的头像

TOP

本帖最后由 yhcfsr 于 2018-8-29 13:29 编辑
  1. @echo off
  2. ::设置文本路径
  3. set "Text=a.txt"
  4. ::========主程序区========
  5. call :get_index "%~n0" index
  6. call :get_lines %index% line
  7. ::设置变量m
  8. set "m=%line%"
  9. pause&exit
  10. ::========子程序区========
  11. :get_index 获取脚本序号
  12. setlocal
  13. set "ScriptName=%~1"
  14. set "num="
  15. :lp
  16. set "n=%ScriptName:~-1%"
  17. if "%n%" neq "(" (
  18. if "%n%" neq ")" set "num=%n%%num%"
  19. set "ScriptName=%ScriptName:~,-1%"
  20. goto:lp
  21. )
  22. endlocal&set "%2=%num%"&goto:eof
  23. :get_lines 获取序号对应行
  24. setlocal
  25. set/a "n=%~1 - 1"
  26. for /f "skip=%n% delims=" %%a in ('type "%Text%"') do endlocal&set "%2=%%a"&goto:eof
复制代码
获取序号用了比较烦琐的方法,主要是考虑到如果是这样的文件名:ab(cd)efg(1).bat
QQ 33892006

TOP

本帖最后由 661100a 于 2018-8-29 13:11 编辑

回复 5# Batcher


我给 3楼 管理员发的是在后面了

TOP

回复 7# 661100a

扫头像
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (1.txt) do (
  3.    set /a n+=1
  4.   >a^(!n!^).bat echo,set m=%%i
  5. )
  6. pause
复制代码
回复 1# 661100a

TOP

回复 3# zaqmlp


    厉害 ,支付宝多少

TOP

(1)~(NN) 是批量修改文件名系统自动排序的

TOP

  1. @echo off
  2. for /f "tokens=2 delims=()" %%a in ("%~n0") do (
  3.     set FileNum=%%a
  4. )
  5. for /f "tokens=1,2 delims=:" %%a in ('type "1.txt" ^| findstr /n .*') do (
  6.     if %FileNum% equ %%a (
  7.         set m=%%b
  8.     )
  9. )
  10. echo,%m%
  11. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我要生成99个~NN个 bat  然后使用

TOP

  1. @echo off
  2. for /f "tokens=2 delims=()" %%a in ("%~n0") do set n=%%a
  3. set /a n-=1
  4. for /f "delims=" %%a in ('more +%n% "1.txt"') do (
  5.     if not defined m set "m=%%a"
  6. )
  7. echo;%m%
  8. pause
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

你这是为了要生成99个bat ?  还是为了什么? 取哪一行也不用 生成99个bat吧,要哪行可以用参数传进去的。

TOP

返回列表