标题: [数值计算] [已解决]批处理自定义函数的可以实现变量的传递吗? [打印本页]
作者: hijackle 时间: 2013-5-13 14:20 标题: [已解决]批处理自定义函数的可以实现变量的传递吗?
本帖最后由 hijackle 于 2013-5-13 22:10 编辑
大神们,问下,自定义函数的可以实现变量的传递吗?- @echo off
- set aaa=我
- set bbb=你
- call :output %aaa%
- call :output %bbb%
- pause>nul
-
- :output %zzz%
- echo %zzz%>>test.txt
- goto :eof
复制代码
比如这个utput 我想后面加个变量,但是这个变量可以根据上面的传递过来,比如我call :output %aaa%
就会直接输出echo 我>>test.txt
可以实现吗?
作者: terse 时间: 2013-5-13 14:28
>>test.txt ECHO %1
作者: hijackle 时间: 2013-5-13 15:04
又要对不住你了,不好意思,老问题
追问下如果传递的变量中含有&,?和=咋办呢?*通配符暂时无视吧
继续上个帖子的范例吧
a.txt内容如下
singer=张信哲,张宇,韩红,陈奕迅,陈羽凡&胡海泉=羽泉,M?M,......(歌手名称很多,都是以,分割的)
song=回来,放不下心,盛夏的果实,........(歌曲名也很多,也都是以,分割的)
借用一下你之前的代码:- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims==" %%a in (a.txt) do (
- set n=&set any=&set "str=%%b"
- set str="!str:,=" "!"
- set str=!str:?=!
- for %%i in (!str!) do set any=!any! "!random!!random!!random!%%~i"
- for /f "tokens=2 delims=" %%c in ('(for %%i in (!any!^) do echo %%i^)^|sort') do set str=%%c
- echo !str:=?!
- call :output !str:=?!
- )
- exit
- :output
- >>aaa.txt echo %1
- goto :eof
复制代码
貌似羽泉组合永远输出不了。
作者: apang 时间: 2013-5-13 15:38
本帖最后由 apang 于 2013-5-13 23:58 编辑
函数???
NB
作者: terse 时间: 2013-5-13 15:39
本帖最后由 terse 于 2013-5-13 15:41 编辑
回复 3# hijackle
变通一下呢- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims==" %%a in (T.txt) do (
- set any=&set "str=%%b"
- set str="!str:,=" "!"
- set str=!str:?=!
- for %%i in (!str!) do set any=!any! "!random!!random!!random!%%~i"
- for /f "tokens=2 delims=" %%c in ('(for %%i in (!any!^) do echo %%i^)^|sort') do set str=%%c
- echo !str:=?!
- call :output "!str:=?!"
- )
- PAUSE
- exit
- :output
- (for /f "tokens=*" %%i in (%1) do echo %%i)>>aaa.txt
- goto :eof
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |