从百度知道里复制了一段 ASCII码 文本,保存在电脑里成了一行,我就想用批处理把它还原成从网页上看到的那样,一条一行,便写了如下一段批处理,却不能正确执行,
求大湿们指出它的错误在哪,或我哪里写的不规范,都可以说道说道,或直接贴出正解,或贴出修改,或是设计思路,什么的都可以说,注意我的系统环境是WIN7.
至于说手工把ASCII码 文本加一次一次的回车的方法就不要提了.本人本人才接触4天批处理,想从实战中多多学习.
下面是我看到的 ASCII码 地址
http://zhidao.baidu.com/question/110735752.html?fr=qrl&index=0
我对本bat钻研了1天半了,也没把它写正确.错误在特定字符的借用.
cmd里那 help /? 看不太懂,E文一点不会.特提出几点疑问:
1. FOR /F "options"中的tokenc=x 这个"X"取值是不是最大只能到 31 ?
2. 对一整行含某一分隔符(如空格)的文字,用参数来迭代每一字符串(数量大于31),用什么命令来实现,若大于52呢.. 不要对 分隔符 进行迭代.
3.比如两条不同类型的CALL :label ver1 ver2 分别对两条不同类型的:label 调用.那第2个CALL :label ver1 ver2对应的:label子程序中 用set %1=ver1,%2=ver2 这样对不对,
CALL的参数ver能多能设几个.
因为才学,不懂的太多,想到什么说什么,见笑了.
本bat我的思路是:在行中找出"0000 1111"这样的由0,1中间空格组成的字符串,把它前面的输出,把它后边的作为新字符串再分析
::=========.bat 开始==============
@echo off
set /p str=<ascii码.txt
echo %str%>temp1.txt
for /f "skip=1 delims=" %%a in (ascii码.txt) do set str=%%a
:main
set stra=%str%
set long=0
:strnum
set/a long+=1
if %long% geq 120 goto cai
set stra=%stra:~0,-1%
if defined stra goto strnum
if %long% LSS 30 goto endd
:cai
set i=20
:caifen1
call set str1=%%str:~%i%,9%%
set yan=0
:xiaoyan
if %yan% gtr 8 goto caifen2
call set strc=%%str1:~%yan%,1%%
set /a yan+=1
set strc=%strc:"=3%
if %yan%==5 goto xiaoyan
if "%strc%"=="0" goto xiaoyan
if "%strc%"=="1" goto xiaoyan
set/a s=%long%-%i%
:xiaoyan2
if %s% leq 10 goto endd
set/a i+=1
goto caifen1
:caifen2
call set str1=%%str:~0,%i%%%
echo %str1%>>temp1.txt
call set str=%%str:~%i%%%
if %b% gtr 30 echo %str%
goto main
:endd
echo %str%>>temp1.txt
exit
::==========.bat 结束=============
去掉下面一行;这是我断错时用的,忘删了.
if %b% gtr 30 echo %str%
下面的能不能---->最多能
CALL的参数ver能多能设几个.
先行谢谢
我是对%1~%9有疑问, 如果有另一条call 和:text2
text2中也有%1~%9 是否有冲突
还有call 对另一文件中的某段的调用,它的标签也是这样的吗
另一文件 类型能是 .txt 吗,它的标签写法呢
:label标签后面%1~%9是在当前标签有效,也就是说在该次call中有效。
如:
@echo off
set n=0
call :test 1 2 3
pause
:test
echo %1 %2 %3
call :test2 a b c
echo %1 %2 %3
exit /b
:test2
echo %1 %2 %3
exit /b
运行的结果是
1 2 3
a b c
1 2 3
call不能直接调用另一bat文件中的标签,如果需要用到另一个文件的标签,可以在另一个bat文件中加入判断参数并跳转的代码。
如下示例:
==============test.bat
@echo off
set tmpver=%1
if "%tmpver:~0,1%"=="/" (
shift /1
call :a_%*
exit /b
)
:main
echo 参数: %*
pause>nul&exit
:a_/test
echo 测试 标签:test 参数:%*
exit /b
==============测试.bat
@echo off
call test.bat /test ver1 ver2 ver3
pause
exit
我是个菜鸟,求学习方法!
以我的经历来看,课前要有一定的预习,这是必要的,不过我的预习比较粗略,无非是走马观花地看一下课本,这样课本上讲的内容、重点大致在心里有个谱了,听起课来就比较有针对性。预习时,我们不必搞得太细,如果过细一是浪费时间,二是上课时未免会有些松懈,有时反而忽略了最有用的东西。上课时认真听课当然是必须的,...
学习电脑的最基本知识
1、学习操作系统:通过学习操作系统体系结构、操作指令、任务调度、并发管理、资源管理、权限管理、安全管理等内容,能够对计算机形成一个较为系统的理解,为后续的学习打下一个扎实的基础。2、打游戏熟悉键盘:很多人最早都是通过打游戏来学习电脑知识的,游戏里的快捷键操作会让他们更熟悉键盘,从而也能提...
世界上第一个行动电话是什么时候在哪里诞生的?
距离滑鼠发明4年后,在1968年12月9日,恩格尔巴特在全球最大的专业技术学会—IEEE会议上,展示了世界上第一个滑鼠(当时还没有“滑鼠”的名称),那是一个木质的小盒子,只有一个按钮,里面有两个互相垂直的滚轮,它的工作原理是由滚轮带动轴旋转,并使变阻器改变阻值,阻值的变化就产生了位移讯号,经电脑处理后萤幕上指示...
一个高级java工程师需要具备什么能力和技术?
1)struts 2)spring 3) hibernate 4)ibatis 5)spirngMvc 等等的其他一些相似的框架,还有项目架构中经常会用到的缓存框架例如memcached ,ehcache,oscache等Java缓存框架,需要掌握基本使用,部署,性能调优,配置 4. 数据库基础 数据库一直是程序员需要重点掌握的一部分,当下主流的还是关系型数据库,产品有oracle mysql sql...
一个高级java工程师需要具备什么能力和技术
1.Core Java部分 这是最基础的,对于一个java高级开发\/设计人员,你需要对这一部分达到精通的水平,重点内容如下: a.面向对象编程思想(封装继承多态接口) b.字符串处理 c.java.lang包,java.util包等常用包 d.java异常处理 2.Java高级部分 a.Java I\/O流 b.Java多线程技术 c.Java网络编程 d.Java Swing 后两...