批处理文件 - 在命令行中将路径名作为参数传递

时间:2015-02-11 18:37:11

标签: batch-file parameters

我想仅从源到目的地复制.txt扩展名的文件。我想在命令行中为参数提供路径名 - source和路径名 - destination。这是我的批处理文件Script.bat:

@ECHO OFF
setlocal 
set /p source =
set /p destination=
FOR %%f IN (*.txt) DO XCOPY "%source%"\"%%f" "%destination%" /m /y /d /s

我想在cmd中调用此批处理文件:

cmd> Script.bat "SourceFolder" "DestinationFolder"

但它不起作用! 谢谢!

2 个答案:

答案 0 :(得分:1)

试一试。它可能不完全正确,但它应该可以帮助你开始。

@echo off
setlocal 
set /p source = 
set /p destination= 
xcopy /m /y /d /s "%~source%\*.txt" "%~destination%\"

答案 1 :(得分:0)

假设/m /y /d /s xcopy开关的正确性,此脚本可以正常工作:

@echo off
setlocal
if "%~1"=="" goto :error empty 1
if "%~2"=="" goto :error empty 2
set "source=%~1"
if not exist "%source%\" goto :error not exist 1
set "destination=%~2"
if not exist "%destination%\" goto :error not exist 2
xcopy "%source%\*.txt" "%destination%\" /m /y /d /s

goto :eof
:error
echo wrong parameters %*
goto :eof

另见下一个资源:Command Line arguments (Parameters)