如何在windons bat 脚本接受用户输入参数
@echo off
title Copy file folder to local
color 0A
@echo off
echo ===========Start to copt data===========
xcopy \\10.9.102.20\CTU-Shared E:\dept\Shared /s/d/y
dir E:\dept\Shared\*.* > E:\download\log.txt
echo off
pause > nul
我想实现,用户输入源文件地址 和 目的文件地址
然后XCOPY会接受到这2个参数实现拷贝 展开
@echo off&setlocal enabledelayedexpansion&title Copy file folder to local
color 0A
echo ===========Start to copy data===========
:start
cls
echo.请输入你要拷贝的源文件地址,比如:C:\dept\shared
set /p input_source=
echo.请输入目的文件地址,如:D:\1
set /p input_dist=
if not exist "!input_source!" echo.你输入路径不存在!!&goto :start
if not exist "!input_dist!" echo.你输入路径不存在!!&goto :start
xcopy !input_source! !input_dist! /s/d/y 1>nul 2>nul&&echo 拷贝完成!||echo 拷贝失败!
pause
===============================代码结束===================================
希望对你有帮助,望采纳!
@echo off&setlocal enabledelayedexpansion&title Copy file folder to local
color 0A
echo
===========Start to copy data===========
:start
cls
echo.请输入你要拷贝的源文件地址,比如:C:\dept\shared
set /p input_source=
echo.请输入目的文件地址,如:D:\1
set /p input_dist=
if not exist "!input_source!" echo.你输入路径不存在!!&goto :start
if not exist "!input_dist!" echo.你输入路径不存在!!&goto :start
xcopy !input_source! !input_dist! /s/d/y 1>nul 2>nul&&echo 拷贝完成!||echo 拷贝失败!
pause
windons bat 脚本简单批处理内部命令:
一、Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
1、语法:
echo [{on│off}] [message]
Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2、@ 命令:
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令了。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,但是autoset这个参数效果和/y是一样的。)
CALL [drive:][path]filename [batch-parameters]
batch-parameters 指定批处理程序所需的命令行信息。
如果命令扩展名被启用,CALL 会如下改变:
CALL 命令现在将卷标当作 CALL 的目标接受。语法是:
CALL:label arguments
一个新的批文件上下文由指定的参数所创建,控制在卷标被指定
后传递到语句。您必须通过达到批脚本文件末两次来 "exit" 两次。
第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次
会退出批脚本。键入 GOTO /?,参看 GOTO : EOF 扩展名的描述,
此描述允许您从一个批脚本返回。
另外,批脚本文本参数参照(%0、%1、等等)已如下改变:
批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)
批参数(%n)的替代已被增强。您可以使用以下语法:
%~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 可以被其他有效数值替换。
%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*
使用