楼 主
大家帮我看一下这个批处理文件
发表于 2006-01-31 12:56 · 中国 福建 福州 电信
初级用户
★
积分 136
发帖 12
注册 2004-01-25 00:00
22年会员
UID 16055
性别 男
状态 离线
这里有一个批处理文件.对它不理解.对SHIFT以及参数不理解.
REM MYCOPY.BAT copies any number of
REM files to a directory. The command
REM is MYCOPY DIR FILES
SET TODIR=%1
:ONE
SHIFT
IF"%1"=" "GOTO TWO
COPY %1 %TODIR%
GOTO ONE
:TWO
SET TODIR=
ECHO ALL DONE
以上谢谢
第 2 楼
发表于 2006-01-31 14:30 · 中国 福建 泉州 电信
初级用户
★
积分 86
发帖 32
注册 2006-01-27 15:56
20年会员
UID 49579
状态 离线
本人正想学习,楼上这位兄台,能否传一个SHIFT程序给我,本人正想学习学习,谢谢。
lks205#163.com (请把#换成@)
第 3 楼
发表于 2006-01-31 16:29 · 中国 福建 福州 电信
初级用户
★
积分 136
发帖 12
注册 2004-01-25 00:00
22年会员
UID 16055
性别 男
状态 离线
第 4 楼
发表于 2006-01-31 18:19 · 中国 广东 广州 白云区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
Shift的作用是把命令行参数向前推移,即 %2 变为 %3, %2 变为 %1,如此类推。
----====≡≡≡≡ 我的至爱,永远是
MSDOS!≡≡≡≡====----
第 5 楼
奇怪!没收到,能否请楼主再发一次?
发表于 2006-01-31 20:24 · 中国 福建 泉州 电信
初级用户
★
积分 86
发帖 32
注册 2006-01-27 15:56
20年会员
UID 49579
状态 离线
SHIFT
改变批处理程序中可替换参数的位置。
语法
SHIFT
SHIFT─注解
SHIFT命令如何工作
SHIFT命令通过将每一个参数拷贝到前一个参数来改变可替换参数%0到%9的值。也就是%1的值被拷贝到%0,%2的值被拷贝到%1等等。此命令对用一系列参数完成同样操作的批处理文件很有用。
:m567
使用10个以上的命令行参数
使用SHIFT命令还可在批处理文件中接收多于10个的命令行参数。如果指定的命令行参数超过10个,则在第10个参数(%9)之后出现的参数将依次被替换到(%9)。
替换参数的恢复
SHIFT命令不可逆。一旦执行了SHIFT命令,就不能恢复SHIFT 命令之前的第一个参数(%0)。
SHIFT─例子
下面的批处理文件MYCOPY.BAT说明怎样用SHIFT命令处理任意多个命令行参数,将一系列文件拷贝到一个指定的目录。使用的参数是目录名和后面的一系列文件名。
@echo off
rem MYCOPY.BAT copies any number of files
rem to a directory。
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done
论坛跳转: