标题: [代码合集] 批处理代码求解释,谢谢! [打印本页]
作者: sunraojian 时间: 2012-8-12 00:28 标题: 批处理代码求解释,谢谢!
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('type 1.txt') do (
- set /a m+=1
- set "home!m!=%%a" -------------------------1.为什么会有个home? 为什么双引号在整个式子的两边,而不为''home!m!''=''%%a''?
- )
- for /f "delims=" %%b in ('type 2.txt') do (
- set /a n+=1
- set "bat!n!=%%b" ---------------------------------2.为什么会有bat,同第一问
- )
- if %m% gtr %n% (
- for /l %%c in (1 1 %m%) do (
- if not "!home%%c!"=="" echo !home%%c! ------------这里的 !home%%c!代表什么?
- if not "!bat%%c!"=="" echo !bat%%c!
- )
- ) else (
- for /l %%d in (1 1 %n%) do (
- if not "!home%%d!"=="" echo !home%%d!
- if not "!bat%%d!"=="" echo !bat%%d!
- )
- )
- pause
复制代码
- @echo off
- for /f "delims=" %%i in (1.txt) do set /a n+=1&call,set "_%%n%%=%%i" ---------------为什么参数n会跟参数i相等,参数n不是数字吗,参数i不是文本内容吗,他们两怎么会相等?
- for /f "delims=" %%i in (2.txt) do set /a m+=1&call,set ".%%m%%=%%i" ----------------为什么 ".%%m%%=%%i"中会有 . 上面的第二段代码为什么"_%%n%%=%%i" 中会有 _
- if %n% gtr %m% (set "num=%n%") else (set "num=%m%")
- for /l %%i in (1,1,%num%) do (
- if defined _%%i call,echo %%_%%i%% ------------------defined后面的参数为什么会有_(_%%i)
- if defined .%%i call,echo %%.%%i%% ------------------defined后面的参数为什么会有.(.%%i )[attach]5580[/attach]
- )
- pause>nul
-
-
复制代码
作者: canyuexiaolang 时间: 2012-8-12 10:13
全是一些基础。重点那只是变量赋值的方式罢了。多看教程。
set "a=1"
这样是复制的一种写法罢了。其他的还是要看看。
作者: sunraojian 时间: 2012-8-12 12:33
不明白呀!
作者: cutebe 时间: 2012-8-12 16:42
一开始看简单的例子好了,一下就太复杂的例子会把你搞蒙的
先看看 DIR CD REN ECHO 等命令吧
作者: CrLf 时间: 2012-8-12 16:51
楼主用 set 命令看下变量表就知道了:- rem 以上为例一的原有代码
- set home
- set bat
- pause
复制代码
例二同理
作者: sunraojian 时间: 2012-8-12 22:06
回复 5# CrLf
什么变量表,那些基础我已经看了! 就学学如何写代码,但是与教程相差很大
作者: sunraojian 时间: 2012-8-12 22:07
回复 2# canyuexiaolang
什么复制的一种方法,不是很明白,怎么SET教程没有这个
作者: apang 时间: 2012-8-13 09:29
for每循环一次,变量m自加1,也就设置了变量home1、home2、home3等等。可以把home改成其它,如A、B、小数点、下划线等等。
在set "home!m!=%%a"中,如果%%a中包含特殊字符,双引号可将其转义。你说的set ''home!m!''=''%%a''这种写法貌似不成在。
作者: sunraojian 时间: 2012-8-13 09:35
回复 8# apang
谢谢,不错!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |