标题: 批处理怎么获取变量=文本内容,10元支付宝 已解决 [打印本页]
作者: 661100a 时间: 2018-8-29 12:45 标题: 批处理怎么获取变量=文本内容,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
作者: cfwyy77_bat 时间: 2018-8-29 12:54
你这是为了要生成99个bat ? 还是为了什么? 取哪一行也不用 生成99个bat吧,要哪行可以用参数传进去的。
作者: zaqmlp 时间: 2018-8-29 12:55
- @echo off
- for /f "tokens=2 delims=()" %%a in ("%~n0") do set n=%%a
- set /a n-=1
- for /f "delims=" %%a in ('more +%n% "1.txt"') do (
- if not defined m set "m=%%a"
- )
- echo;%m%
- pause
复制代码
作者: 661100a 时间: 2018-8-29 12:55
我要生成99个~NN个 bat 然后使用
作者: Batcher 时间: 2018-8-29 12:55
- @echo off
- for /f "tokens=2 delims=()" %%a in ("%~n0") do (
- set FileNum=%%a
- )
- for /f "tokens=1,2 delims=:" %%a in ('type "1.txt" ^| findstr /n .*') do (
- if %FileNum% equ %%a (
- set m=%%b
- )
- )
- echo,%m%
- pause
复制代码
作者: 661100a 时间: 2018-8-29 12:56
(1)~(NN) 是批量修改文件名系统自动排序的
作者: 661100a 时间: 2018-8-29 13:01
回复 3# zaqmlp
厉害 ,支付宝多少
作者: digger 时间: 2018-8-29 13:01
- @echo off&setlocal enabledelayedexpansion
-
- for /f "delims=" %%i in (1.txt) do (
- set /a n+=1
- >a^(!n!^).bat echo,set m=%%i
- )
- pause
复制代码
回复 1# 661100a
作者: zaqmlp 时间: 2018-8-29 13:01
回复 7# 661100a
扫头像
作者: 661100a 时间: 2018-8-29 13:03
本帖最后由 661100a 于 2018-8-29 13:11 编辑
回复 5# Batcher
我给 3楼 管理员发的是在后面了
作者: yhcfsr 时间: 2018-8-29 13:25
本帖最后由 yhcfsr 于 2018-8-29 13:29 编辑
- @echo off
- ::设置文本路径
- set "Text=a.txt"
- ::========主程序区========
- call :get_index "%~n0" index
- call :get_lines %index% line
- ::设置变量m
- set "m=%line%"
- pause&exit
-
- ::========子程序区========
- :get_index 获取脚本序号
- setlocal
- set "ScriptName=%~1"
- set "num="
- :lp
- set "n=%ScriptName:~-1%"
- if "%n%" neq "(" (
- if "%n%" neq ")" set "num=%n%%num%"
- set "ScriptName=%ScriptName:~,-1%"
- goto:lp
- )
- endlocal&set "%2=%num%"&goto:eof
-
- :get_lines 获取序号对应行
- setlocal
- set/a "n=%~1 - 1"
- for /f "skip=%n% delims=" %%a in ('type "%Text%"') do endlocal&set "%2=%%a"&goto:eof
复制代码
获取序号用了比较烦琐的方法,主要是考虑到如果是这样的文件名:ab(cd)efg(1).bat
作者: ai20110304 时间: 2018-8-29 15:37
回复 9# zaqmlp
不错的头像
作者: ai20110304 时间: 2018-8-29 16:51
回复 3# zaqmlp
楼主方法很巧妙more直接定位过去
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |