第一篇:批处理练习题
批处理实现两文本同行交替输出
有两个文本如下(实际中并不知道两文本各有多少行): 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg www.xiexiebang.come easy]
I should have known all along.There was something wrong.I just never read between the lines.Then I woke up one day and found you on your way.Leaving nothing but my heart behind.What can I do to make it up to you.Promises don't come easy.But tell me if there's a way to bring you back home to stay.Well I'd promises anything to you.I've been walkin' around with my head hanging down.Wondrin' what I'm gonna do.'Cause when you walked out that door.要求,CMD原始窗口中,不调节窗口大小,不生成临时文件,居中显示文本内容。输出如下: 代码: [Promise don't come easy] I should have known all along.There was something wrong.I just never read between the lines.Then I woke up one day and found you on your way.Leaving nothing but my heart behind.What can I do to make it up to you.Promises don't come easy.But tell me if there's a way to bring you back home to stay.Well I'd promises anything to you.I've been walkin' around with my head hanging down.Wondrin' what I'm gonna do.'Cause when you walked out that door.@echo off copy /y 1.txt 2.txt>nul echo.>>2.txt&echo end>>2.txt for /f “tokens=1,2* delims=: ” %%i in('findstr /n /o.* 2.txt')do(set “_%%i=%%j”&set “.%%i=%%k”
if %%i geq 2 call :lp %%i)del /q 2.txt&pause>nul&goto :eof :lp set /a n=%1-1 set /a num=_%1-_%n%-2 set /a kl=(80-num)/2 for /l %%i in(1,1,%kl%)do set /p= @echo off for /f “delims=” %%.in(1.txt)do(set “str=%%.” call,set “str=%%str:*a=%%” for /f “delims=a” %%{ in(“%%.”)do(set “var=%%{” call,echo.%%var:0=%%a%%str%%))pause>nul @echo off for /f “tokens=1,2 delims=a” %%i in(1.txt)do(if “%%j” neq “"(set ”str=%%i“ call,set ”str=%%str:0=%%" call,echo %%str%%a%%j)else(echo a%%i))pause>nul 先打个比方:如果你家来了客人,你妈妈给你2元钱到商店买1瓶啤酒给客人喝。结果客人不够喝,你妈怕浪费,又给你2元钱让你下楼再去买1瓶,结果又不够喝,又让你下楼再买1瓶,还不够,再让你买一瓶……这时你可能会怎么说?你肯定会不耐烦地回答:妈,拜托你,别让我每次1瓶1瓶的买,1次多买几瓶不就行了吗? 我们执行SQL语句同样如此,因为SQL Server是网络数据库,一台服务器可能有很多远程客户端,如果在客户端一次发送1条SQL语句,然后客户返回结果;然后再发送1条SQL语句,再返回,效率太低了。所以为了提高效率,SQL Server就引出了批处理的概念。 批处理是包含一个或多个 SQL 语句的组,从应用程序一次性地发送到SQL Server执行 SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。执行计划中的语句 每次执行一条 SELECT * FROM stuInfo SELECT * FROM stuMarks UPDATE stuMarks SET writtenExam=writtenExam+2 GO GO是批处理的标志,表示SQL Server将这些T-SQL语句编译为一个执行单元,提高执行效 率 一般是将一些逻辑相关的业务操作语句,放置在同一批中,这完全由业务需求和代码编写者决定 SQLServer规定:如果是建库、建表语句、以及我们后面学习的存储过程和视图等,则必须在语句末尾添加 GO 批处理标志 如何批处理拷贝文件和文件夹 经常做数据备份的人很清楚,如果是少量数据或文件,简单复制即可,可是要是大量数据的话,再用这种方法,则费力费时,那么如何批处理拷贝文件和文件夹,可以用xcopy实现,例如: C:>xcopy C:ppt*.* D:ppt /s /e 这条命令的意思就是把C盘下的PPT文件夹全部拷贝到D盘 XCOPY 还有众多的功能,是加参数来完成的。上面的/s /e 参数的作用分别是把子目录和空目录都复制过去,一些使用举例和参数说明如下: 1、如只是单纯地复制 E: 盘上所有文件到 D: 盘上,就输入“ xcopy e:*.* d: /s /h “就行啦!如果在复制过程中,你不要他复制文件啦!那就按键盘热键“Ctrl ” +“Pause /break” 二个热键 来中断复制。 2、如果想把E: 盘上所有文件复制到D:盘上,分为今天复制一点,明天再接着复制一些,后天再接着复制一些。或者是某种原因上次没有复制完成,今天想接着复制。(这种情况是经常在复制文件中出现的)那可怎么办才好呢? 那就输入“ xcopy e:*.* d: /s /h /d /y ”就行啦。他能查出那些文件是已经复制过去啦,那些文件还没有复制过去的。 3、当然我们也会碰到这种情况,一些文件我们已经修改过啦!网上面又有最新版本的啦。原来备份的那份文件我们要及时更新啦。那怎么才能同步更新呢?当然我们可以把最新的好份文件复制过去,这也是一种解决办法。 如果修改的文件有很多的,自己到时候也记不清楚那份文件是更新过的。这么多的原来备份的那份文件都要更新,都要复制过去,可不是件省力气的活,而且容易出错和一些文件被忘记啦!那和上面一样也同样输入“ xcopy e:*.* d: /s /h /d /y ”就行啦! 4、还有一种情况我们经常也碰到的,因为复制某个文件出错或者这个文件在使用中,而停止了复制工作,(比如,复制C 盘上的 windows xp)我们这时候想跳过某个出错的文件和某个正在使用中文件而继续复制其他文件。 在多加入一个参数“ /c ”就是 “ xcopy e:*.* d: /s /h /d /c /y ”就行啦! 5、有时候我们想XCOPY 变为自动复制,并且复制完成后关闭电脑,可以建立一个批处理文件,新建文本文档,更名为XCOPY.BAT 当然扩展名原来是TXT 格式的要更名为BAT 在这个 XCOPY.BAT 中输入 xcopy e:*.* d: /s /h /c /y shutdown-s 然后双击xcopy.bat 运行它,你这时候可以出去玩啦。电脑会自己复制备份完成文件然后自动关闭电脑。XCOPY source [destination] 参数(如 /s /e)source 指定要复制的文件。 destination 指定新文件的位置和/或名称。/A 只复制有存档属性集的文件,但不改变属性。 /M 只复制有存档属性集的文件,并关闭存档属性。 /D:m-d-y 复制在指定日期或指定日期以后改变的文件。如果没有提供日期,只复制那些源时间 比目标时间新的文件。/EXCLUDE:file1[+file2][+file3]...指定含有字符串的文件列表。如果有任何 字符串与要被复制的文件的绝对路径 相符,那个文件将不会得到复制。 例如,指定如 obj 或.obj 的字符串会排除 目录 obj 下面的所有文件或带有.obj 扩展名的文件。 /P 创建每个目标文件前提示。/S 复制目录和子目录,除了空的。/E 复制目录和子目录,包括空的。与 /S /E 相同。可以用来修改 /T。/V 验证每个新文件。/W 提示您在复制前按键。/C 即使有错误,也继续复制。 /I 如果目标不存在,又在复制一个以上的文件,则假定目标一定是一个目录。/Q 复制时不显示文件名。 /F 复制时显示完整的源和目标文件名。/L 显示要复制的文件。 /G 允许将没有经过加密的文件复制到 不支持加密的目标。/H 也复制隐藏和系统文件。/R 改写只读文件。 /T 创建目录结构,但不复制文件。不 包括空目录或子目录。/T /E 包括 空目录和子目录。 /U 只复制已经存在于目标中的文件。 /K 复制属性。一般的 Xcopy 会重设只读属性。/N 用生成的短名复制。 /O 复制文件所有权和 ACL 信息。/X 复制文件审核设置(隐含 /O)。/Y 禁止提示以确认改写一个 现存目标文件。 /-Y 导致提示以确认改写一个 现存目标文件。 /Z 用重新启动模式复制网络文件。 Xcopy 复制文件和目录,包括子目录。语法 xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z] 参数 Source 必需的。指定要复制的文件的位置和名称。该参数必须包含驱动器或路径。Destination 指定要复制的文件的目标。该参数可以包含驱动器盘符和冒号、目录名、文件名或者它们的组合。/w 在开始复制文件之前将显示以下消息并等待您的响应: Press any key to begin copying file(s)/p 提示您确认是否要创建每个目标文件。/c 忽略错误。/v 在写入目标文件时验证每个文件,以确保目标文件与源文件完全相同。/q 禁止显示 xcopy 消息。/f 复制时显示源文件名和目标文件名。/l 显示要复制的文件列表。/g 创建解密的目标文件。/d[:mm-dd-yyyy] 只复制那些在指定日期或指定日期之后更改过的源文件。如果不包括 mm-dd-yyyy 值,xcopy 会复制比现有 Destination 文件新的所有 Source 文件。该命令行选项使您可以更新更改过的文件。/u 只从 source 复制 destination 中已有的文件。/i 如果 Source 是一个目录或包含通配符,而 Destination 不存在,xcopy 会假定 destination 指定目录名并创建一个新目录。然后,xcopy 会将所有指定文件复制到新目录中。默认情况下,xcopy 将提示您指定 destination 是文件还是目录。/s 复制非空的目录和子目录。如果省略 /s,xcopy 将在一个目录中工作。/e 复制所有子目录,包括空目录。同时使用 /e、/s 和 /t 命令行选项。/t 只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含 /e 命令行选项。/k 复制文件,如果源文件具有只读属性,则在目标文件中保留该属性。默认情况下,xcopy 会删除只读属性。/r 复制只读文件。/h 复制具有隐藏和系统文件属性的文件。默认情况下,xcopy 不复制隐藏或系统文件。/a 只复制那些具有存档文件属性设置的源文件。/a 不修改源文件的存档文件属性。有关如何通过使用 attrib 来设置存档文件属性的信息,请参阅“”。/m 复制具有存档文件属性设置的源文件。与 /a 不同,/m 关闭在源中指定的文件的存档文件属性。有关如何通过使用 attrib 来设置存档文件属性的信息,请参阅“”。/n 使用 NTFS 短文件或目录名创建副本。将文件或目录从 NTFS 卷复制到 FAT 卷或者当目标文件系统需要 FAT 文件系统命名约定(即 8.3 个字符)时,需要 /n。目标文件系统可以是 FAT 或 NTFS。/o 复制文件所有权与自由选择的访问控制列表(DACL)信息。/x 复制文件审核设置和系统访问控制列表(SACL)信息(包含 /o)。 /exclude:filename1[+[filename2]][+[filename3]] 指定包含字符串的文件列表。/y 禁止提示您确认要覆盖现存的目标文件。/-y 提示您确认要覆盖现有目标文件。/z 在可重启模式中通过网络复制。/? 在命令提示符显示帮助。注释 使用 /v XOX 使用 /exclude 列出每个文件的单独行中的每个字符串。如果列出的任何字符串与要复制的文件的绝对路径的任何部分匹配,就从复制进程排除该文件。例如,如果指定字符串 “Obj”,则会排除 Obj 目录下的所有文件。如果指定字符串 “.obj”,则排除具有.obj 扩展名的所有文件。使用 /z 如果在复制过程中丢失连接(例如,如果用于连接的服务器脱机),复制过程将在重新建立连接后恢复。/z 也显示每个文件完成的复制操作的百分比。在 COPYCMD 环境变量中使用 /y 可在 COPYCMD 环境变量中使用 /y。在命令行上使用 /-y 可以覆盖该命令。默认情况下,会提示您覆盖,除非您从批处理脚本内运行 copy。复制加密的文件 将加密文件复制到不支持 EFS 的卷会导致错误。应首先解密文件或将文件复制到支持 EFS 的卷中。附属文件 要附加文件,请指定单个目标文件,多个源文件(使用通配符或文件 1 + 文件 2 + 文件 3 格式)。Destination 的默认值 如果省略 Destination,xcopy 命令将文件复制到当前目录。指定 Destination 是文件还是目录 如果 Destination 不包含现有目录且不以反斜杠()结尾,会出现下列消息: Does destination specify a file name or directory name on the target(F = file, D = directory)? 如果要将一个或多个文件复制到一个文件,请按 F。如果要将一个或多个文件复制到一个目录,请按 D。使用 /i 命令行选项可抑制显示该消息,从而导致 xcopy 认定在源是多个文件或一个目录的情况下,目标是一个目录。 使用 xcopy 命令设置 Destination 文件的存档属性 xcopy 命令创建具有存档属性设置的文件,无论源文件中是否设定了此属性。有关文件属性和 attrib 的详细信息,请参阅“”。比较 xcopy 和 diskcopy 如果磁盘的子目录中包含文件,要将其复制到具有不同格式的磁盘中,请使用 xcopy 命令,而不要使用 diskcopy。因为 diskcopy 命令是一个磁道接一个磁道地复制磁盘,所以需要源磁盘和目标磁盘的格式必须相同。xcopy 命令没有该要求。通常情况下请使用 xcopy,除非您需要完整的磁盘图像副本。xcopy 的退出码 要处理 xcopy 返回的退出码,请在批处理程序的 if 命令行上使用 errorlevel 参数。有关使用“if”处理退出码的批处理程序的范例,请参阅“”。下表列出每一个退出码和说明。 退出码说明 0 文件复制没有错误。1 没有找到要复制的文件。2 用户按 CTRL+C 终止了 xcopy。4 出现了初始化错误。没有足够的内存或磁盘空间,或命令行上输入了无效的驱动器名称或语法。5 出现了磁盘写入错误。范例 要从驱动器 A 将所有文件和子目录(包括所有空的子目录)复制到驱动器 B,请键入: xcopy a:b:/s /e 要包含上一示例中的任何系统或隐藏文件,请按如下所示添加 /h 命令行选项: xcopy a:b:/s /e /h 要使用 Rawdata 目录中 1993 年 12 月 29 日后更改的文件更新 Reports 目录中的文件,请键入: xcopy rawdata reports /d:12-29-1993 要更新上例中 Reports 中存在的所有文件,而不考虑日期,请键入: xcopy rawdata reports /u 如果只想获得前一个命令要复制的文件列表,而不复制文件,请键入: xcopy rawdata reports /d:12-29-1993 /l > xcopy.out 文件 Xcopy.out 列出了要复制的所有文件。 要将 Customer 目录和所有子目录复制到网络驱动器 H: 上的目录 PublicAddress,保留只读属性,并在 H: 上创建新文件时对您做出提示,请键入: xcopy customer h:publicaddress /s /e /k /p 要发出上一个命令,确保在 Address 目录不存在时 xcopy 会创建该目录,同时应抑制显示创建新目录时要显示的消息,请按如下所示添加 /i 命令行选项: xcopy customer h:publicaddress /s /e /k /p /i 可以创建批处理程序执行 xcopy 操作,并且使用 if 批处理命令在发生错误时处理退出码。例如,以下的批处理程序使用可替换的 xcopy 源和目标参数: @echo off rem COPYIT.BAT transfers all files in all subdirectories of rem the source drive or directory(%1)to the destination rem drive or directory(%2)xcopy %1 %2 /s /e if errorlevel 4 goto lowmemory if errorlevel 2 goto abort if errorlevel 0 goto exit :lowmemory echo Insufficient memory to copy files or echo invalid drive or command-line syntax.goto exit :abort echo You pressed CTRL+C to end the copy operation.goto exit :exit 要使用该批处理程序将 C:Prgmcode 目录和其子目录中的所有文件复制到驱动器 B 中,请键入: copyit c:prgmcode b: 该命令解释程序将用 C:Prgmcode 替换 %1 与 B:。对于 %2,然后使用 xcopy 与 /e 和 /s 命令行选项。如果 xcopy 遇到错误,批处理程序将读取退出码并转到相应 IF ERRORLEVEL 语句中指示的标签,然后显示相应的消息并退出批处理程序。 可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息。 Cmd.exe 提供批处理参数扩展变量(%0 到 %9)。在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换。要访问超出 %9 的参数,必须使用 shift 命令。有关 shift 命令的详细信息,请参阅 Shift。%* 批处理参数是传递到批处理文件中的所有参数(不包括 %0)的通配符引用。 例如,要将 Folder1 中的内容复制到 Folder2,其中 %1 和 %2 将分别由值 Folder1 和 Folder2 替换,请在批处理文件 Mybatch.bat 中键入如下内容: xcopy %1*.* %2 要运行该文件,请键入: mybatch.bat C:folder1 D:folder2 这与在批处理文件中键入如下内容是等效的: xcopy C:folder1 *.* D:folder2 也可以在批处理参数中使用修改符。修改符使用当前的驱动器和目录信息将批处理参数作为部分或完整的文件或目录名进行扩展。要使用修改符,请键入百分号(%)字符,后面是波形符号(~)字符,然后键入合适的修改符(即 %~modifier)。下表列出了可在扩展中使用的修改符。 修饰符 描述 %~1 扩展 %1 并删除任何外围引号("")。 %~f1 将 %1 扩展到完全限定的路径名。 %~d1 将 %1 扩展到驱动器盘符。 %~p1 将 %1 扩展到路径。 %~n1 将 %1 扩展到文件名。 %~x1 将 %1 扩展到文件扩展名。 %~s1 扩展的路径仅包含短名称。 %~a1 将 %1 扩展到文件属性。 %~t1 将 %1 扩展到文件日期和时间。 %~z1 将 %1 扩展到文件大小。 %~$PATH:1 搜索 PATH 环境变量中列出的目录,并将 %1 扩展到第一个找到的目录的完全限定名称。如果没有定义环境变量名称,或没有找到文件,则此修改符扩展成空字符串。 下表列出了可用于获取综合结果的修改符和限定符的可能组合情况: 修饰符 描述 %~dp1 将 %1 扩展到驱动器盘符和路径。 %~nx1 将 %1 扩展到文件名和扩展名。 %~dp$PATH:1 在 PATH 环境变量列出的目录中搜索 %1,并扩展到第一个找到的目录的驱动器盘符和路径。 %~ftza1 将 %1 扩展到类似 dir 的输出行。 注意 ? 在上面的例子中,可以使用其他批处理参数值替换 %1 和 PATH。 %* 修改符是唯一可代表在批处理文件中传递的所有参数的修改符。不能将该修改符与 %~ 修改符组合使用。%~ 语法必须通过有效的参数值来终止。 不能以与使用环境变量相同的方式使用批处理参数。不能搜索和替换值,或检查子字符串。但是,可以将参数分配给环境变量,然后对该环境变量进行操作。 Windows批处理命令总结 命令:echo 1.1 echo含义 显示消息,或者启用或关闭命令回显。ECHO [ON | OFF]、ECHO [message] 若要显示当前回显设置,请键入不带参数的 ECHO。 1.2 echo举例 ①echo 显示当前回显设置,结果有ECHO 处于打开状态、ECHO 处于关闭状态 ②echo on 打开回显设置,即ECHO 处于打开状态 ③echo off 关闭回显设置,即ECHO 处于关闭状态 ④echo 我是中国人 显示输出的内容信息,窗口输出“我的中国人”,不需要加单双引号 ⑤echo.换行 命令:pause 2.1 pause含义 暂停批处理程序,并显示以下消息:请按任意键继续...2.2 pause举例 ①pause 显示“请按任意键继续...”信息 命令:@ 3.1 @含义 用于禁止当前执行的命令回显在屏幕上 3.2 @举例 @echo off 该命令行不会回显在屏幕上 4 命令:goto 4.1 goto含义 将 cmd.exe 定向到批处理程序中带标签的行。 GOTO label label 指定批处理程序中用作标签的文字字符串。标签必须单独一行,并且以冒号打头。如果命令扩展被启用,GOTO 会如下改变: GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的办法。有关能使该功能有用的 CALL 命令的扩展描述,请键入CALL /?。 4.2 goto举例 ①命令行如下 执行结果如下 命令:call 5.1 call含义 从批处理程序调用另一个批处理程序。 CALL [drive:][path]filename [batch-parameters] batch-parameters 指定批处理程序所需的命令行信息。如果命令扩展被启用,CALL 会如下改变: CALL 命令现在将卷标当作 CALL 的目标接受。语法是:CALL:label arguments 一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。你必须通过达到批脚本文件末两次来 “exit” 两次。第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。5.2 call举例 ①call 文件名 调用外部的批处理文件,并执行内容 执行结果如下: 命令:if 6.1 if含义 执行批处理程序中的条件处理。 IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。 ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指 定条件为 true。 string1==string2 如果指定的文字字符串匹配,指定条件为 true。 EXIST filename 如果指定的文件名存在,指定条件为 true。 command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将 在 ELSE 关键字之后执行该命令。ELSE 子句必须出现在同一行上的 IF 之后。例如: IF EXIST filename.(del filename.)ELSE(echo filename.missing.)6.2 if举例 ①字符串匹配判断和文件是否存在判断(既可以为相对路径,也可以为绝对路径)比较运算符 比较运算符有以下几种: EQU不等于 LSS小于或等于 GTR大于或等于 命令:for 8.1 for含义 对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN(set)DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果启用命令扩展,则会支持下列 FOR 命令的其他格式: FOR /D %variable IN(set)DO command [command-parameters] 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。FOR /R [[drive:]path] %variable IN(set)DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。 如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /L %variable IN(start,step,end)DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列 8.2 for举例 ①循环输出数字和循环输出3.txt中的文本内容 命令:rem 9.1 rem含义 在批处理文件或 CONFIG.SYS 里加上注解或说明。REM [comment] 9.2 rem举例 ①rem 这是一条注释,不会执行 10 命令:start 10.1 start含义 重新打开一个窗口或执行程序,并根据参数执行相应命令 10.2 start举例 ①start notepad++ 打开notepad++程序 ②start “这是新的cmd窗口” echo 在第二个窗口执行程序 命令:set 11.1 set含义 显示、设置或删除 cmd.exe 环境变量。SET [variable=[string]] variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。要显示当前环境变量,键入不带参数的 SET。 11.2 set举例 ①set 显示所有的环境变量,环境变量不区分大小写 ②set java_home 显示以“java_home”开头的环境变量 ③set JAVA_HOME=D:myworkjdkinstall 设置JAVA_HOME的值 ④set /p var=请输入您的姓名: 提示用户输入参数,%var%调用该参数 ⑤set /a var=2*2 设置运算表达式 命令:choice 12.1 choice含义 CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] 描述:该工具允许用户从选择列表选择一个项目并返回所选项目的索引。参数列表: /C choices 指定要创建的选项列表。默认列表是 “YN”。 /N 在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。 /CS 允许选择分大小写的选项。在默认情况下,这个工具 是不分大小写的。 /T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0,就不会有暂停,默认选项 会得到选择。 /D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选 项指定的一组选择中;同时,必须用 /T 指定 nnnn。 /M text 指定提示之前要显示的消息。如果没有指定,工具只 显示提示。 12.2 choice举例 CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。” CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M “选项 1 请选择 a,选项 2 请选择 b。” CHOICE /C ab /N /M “选项 1 请选择 a,选项 2 请选择 b。” 13 命令:copy 13.1 copy含义 将一份或多份文件复制到另一个位置。 COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+...]] [destination [/A | /B]] source 指定要复制的文件。 /A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。 /D 允许解密要创建的目标文件 destination 为新文件指定目录和/或文件名。 /V 验证新文件写入是否正确。 /N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名。 /Y 不使用确认是否要覆盖现有目标文件的提示。 /-Y 使用确认是否要覆盖现有目标文件的提示。 /Z 用可重新启动模式复制已联网的文件。 /L 如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。 13.2 copy举例 ①copy a.txt bak.txt 复制a.txt文件,命名为bak.txt,不能复制目录下的文件并重命名 ②copy /b f:1.txt+2.txt f:3.txt 合并文件到一个新的文件 命令:move 14.1 move含义 移动文件并重命名文件和目录。要移动至少一个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名一个目录: MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2 [drive:][path]filename1 指定你想移动的文件位置和名称。 destination 指定文件的新位置。目标可包含一个驱动器号 和冒号、一个目录名或组合。如果只移动一个文件 并在移动时将其重命名,你还可以包括文件名。 [drive:][path]dirname1 指定要重命名的目录。 dirname2 指定目录的新名称。 /Y 取消确认覆盖一个现有目标文件的提示。 /-Y 对确认覆盖一个现有目标文件发出提示。 14.2 move举例 ①move 3.txt D:a.txt 文件移动并重命名 命令:del 15.1 del含义 删除一个或数个文件。 DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names names 指定一个或多个文件或者目录列表。通配符可用来删除多个文件。 如果指定了一个目录,该目录中的所有文件都会被删除。 /P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 删除所有子目录中的指定的文件。 /Q 安静模式。删除全局通配符时,不要求确认 /A 根据属性选择要删除的文件 属性 R 只读文件 S 系统文件 H 隐藏文件 A 存档文件 I 无内容索引文件 L 重分析点 表示“否”的前缀 /B 使用空格式(没有标题信息或摘要)。 /C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来 禁用分隔符显示。 /D 跟宽式相同,但文件是按栏分类列出的。 /L 用小写。 /N 新的长列表格式,其中文件名在最右边。 /O 用分类顺序列出文件。 排列顺序 N 按名称(字母顺序) S 按大小(从小到大) E 按扩展名(字母顺序) D 按日期/时间(从先到后) G 组目录优先 -反转顺序的前缀 /P 在每个信息屏幕后暂停。 /Q 显示文件所有者。 /R 显示文件的备用数据流。 /S 显示指定目录和所有子目录中的文件。 /T 控制显示或用来分类的时间字符域。 17.2 dir举例 ①dir /o F: 分类显示F盘下的文件和文件夹 命令:find 18.1 find含义 在文件中搜索字符串。 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] “string” [[drive:][path]filename[...]] /V 显示所有未包含指定字符串的行。 /C 仅显示包含字符串的行数。 /N 显示行号。 /I 搜索字符串时忽略大小写。 /OFF[LINE] 不要跳过具有脱机属性集的文件。 “string” 指定要搜索的文本字符串。 [drive:][path]filename 指定要搜索的文件。 18.2 find举例 ①find /c /n “视” oa视图对比.txt 从文件中查找“视”,并显示行号 命令:type 19.1 type含义 显示文本文件的内容,或者创建文件 TYPE [drive:][path]filename 19.2 type举例 ①type nul>a.txt 创建文件a.txt ②type a.txt 查看文件内容 命令:md/mkdir 20.1 md含义 创建目录。 MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 a 不 存在,那么: mkdir abcd 与:mkdir a chdir a mkdir b chdir b mkdir c chdir c mkdir d 相同。如果扩展被停用,则需要键入 mkdir abcd。 20.2 md举例 ①md abcd 创建多级目录 《Photoshop批处理》微课教学设计 课前导读 主要介绍“动作”调板的功能和使用方法,一张图片的添加水印和对图像对比度、亮度的处理以及批处理图像操作及应用。通过对本课的学习,利用Photoshop动作和自动化处理功能、记录与播放命令,批量处理图像,能够快速处理图像和设计,从而提高图像处理的效率。 学习目标 1、掌握Photoshop中动作与批处理的概念,掌握“动作”调板功能和使用方法。 2、掌握Photoshop图像自动化处理技巧,用动作设计各种图像效果,掌握批处理命令的使用方法。 操作过程 一、首先回顾一下上节课所讲的一张图片的添加水印效果和对图像对比度、亮度的处理,然后具体讲解批处理的原理以及过程,并利用学校网站添加水印图片为例,讲解具体的过程,并制作动作命令 a)介绍调用“动作”面板的三种方法 b)具体操作如何通过“动作面板”录制批处理的过程。 1.打开Photoshop,选中“窗口→动作”命令,打开动作命令窗口。此时,动作命令栏里只有默认命令序列和一些默认动作。 2.单击动作命令栏“创建新动作”快捷命令图标,此时就会在“默认动作”的序列下创建新动作,出现的命令对话框,在“名称”栏中输入自己想要的动作名称pcl,然后单击“记录”按钮,记录开始。 3.开始创建各项需要的动作,计算机会自动记录你的各个动作,这里举个我们学校网站上传图片的要求进行处理图片、(要求:像素大小1024*768,图片明亮清晰,有学校的水印logo)这个自动调整图片对比度并缩小图片的例子: 点击“图像→图像大小”,在对话框里设置图像高度、宽度的大小,我们这里把宽度设为1024像素,高度768像素大小; 点击“图像→调整→亮度/对比度”,将会出现调整图片亮度30,对比度20,使图片变亮; 添加水印效果,在水印图片上ctrl+a 全选图片,ctrl+c复制图片,在需要添加水印效果的图片上ctrl+v粘贴,然后调节水印的位置以及大小。 点击“文件→存储为”,然后在对话框中选择保存图片的位置; 最后关闭图片; 4.单击动作命令栏下方的“停止”按钮停止记录。这时我们需要的动作命令制作完毕。 二、用自动批处理命令处理图片 1、先做准备工作:把所有待处理的图片放到一个文件夹里,新建一个文件夹用来放置处理过的图片。执行“文件→自动→批处理”打开批处理命令框。 1、接着设置各个参数和选项: (1)在“动作”下拉菜单中选择“pcl”。 (2)在“源”下拉菜单中选择“文件夹”。 (3)单击“选取”按钮在弹出的对话框中选择待处理的图片所在的文件夹,单击“确定”。 (4)在“目的”下拉菜单中选择“文件夹”,单击“选择”按钮,在弹出的对话框中选择准备放置处理好的图片的文件夹,单击“确定”。 (5)在“文件命名”的第一个框的下拉菜单中选择“文档名称”。 (6)在“错误”下拉菜单中选择“因错误而停止”,单击“另存为”选择一个文件夹。批处理若中途出了问题,计算机会记录错误的细节,并停止。 这一切做好,检查无误之后,单击“确定”,计算机就会开始一张一张地打开处理和保存那些我们选中的图片,直到任务结束。我们耐心的等待图片处理的过程。 小结 回顾总结,让同学们在学习ps中遇到什么问题要认真用心,有耐心,让他们有什么应用的技巧和方法去分享。第二篇:T-SQL批处理(模版)
第三篇:批处理拷贝文件和文件夹方式
第四篇:Windows批处理命令总结详解
第五篇:_《Photoshop批处理》微课教学设计 _