找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29866|回复: 4

[数值计算] [已解决]批处理自定义函数的可以实现变量的传递吗?

[复制链接]
发表于 2013-5-13 14:20:45 | 显示全部楼层 |阅读模式
本帖最后由 hijackle 于 2013-5-13 22:10 编辑

大神们,问下,自定义函数的可以实现变量的传递吗?
  1. @echo off
  2. set aaa=我
  3. set bbb=你
  4. call :output %aaa%
  5. call :output %bbb%
  6. pause>nul

  7. :output %zzz%
  8. echo %zzz%>>test.txt
  9. goto :eof
复制代码
比如这个utput 我想后面加个变量,但是这个变量可以根据上面的传递过来,比如我call :output %aaa%
就会直接输出echo 我>>test.txt

可以实现吗?
发表于 2013-5-13 14:28:14 | 显示全部楼层
>>test.txt ECHO %1
 楼主| 发表于 2013-5-13 15:04:06 | 显示全部楼层
又要对不住你了,不好意思,老问题
追问下如果传递的变量中含有&,?和=咋办呢?*通配符暂时无视吧
继续上个帖子的范例吧
a.txt内容如下
singer=张信哲,张宇,韩红,陈奕迅,陈羽凡&胡海泉=羽泉,M?M,......(歌手名称很多,都是以,分割的)
song=回来,放不下心,盛夏的果实,........(歌曲名也很多,也都是以,分割的)

借用一下你之前的代码:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims==" %%a in (a.txt) do (
  3.     set n=&set any=&set "str=%%b"
  4.     set str="!str:,=" "!"
  5.     set str=!str:?=!
  6.     for %%i in (!str!) do set any=!any! "!random!!random!!random!%%~i"
  7.     for /f "tokens=2 delims=" %%c in ('(for %%i in (!any!^) do echo %%i^)^|sort') do set str=%%c
  8.     echo !str:=?!
  9.     call :output !str:=?!
  10. )
  11. exit
  12. :output
  13. >>aaa.txt echo %1
  14. goto :eof
复制代码
貌似羽泉组合永远输出不了。
发表于 2013-5-13 15:38:07 | 显示全部楼层
本帖最后由 apang 于 2013-5-13 23:58 编辑

函数???
NB
发表于 2013-5-13 15:39:57 | 显示全部楼层
本帖最后由 terse 于 2013-5-13 15:41 编辑

回复 3# hijackle
变通一下呢

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims==" %%a in (T.txt) do (
  3.     set any=&set "str=%%b"
  4.     set str="!str:,=" "!"
  5.     set str=!str:?=!
  6.     for %%i in (!str!) do set any=!any! "!random!!random!!random!%%~i"
  7.     for /f "tokens=2 delims=" %%c in ('(for %%i in (!any!^) do echo %%i^)^|sort') do set str=%%c
  8.     echo !str:=?!
  9.     call :output "!str:=?!"
  10. )
  11. PAUSE
  12. exit
  13. :output
  14. (for /f "tokens=*" %%i in (%1) do echo %%i)>>aaa.txt
  15. goto :eof
复制代码

评分

参与人数 1技术 +1 收起 理由
hijackle + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 07:23 , Processed in 0.019084 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表