2015-02-11 196 views
0

我想從源文件複製到目的地只有.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" 

但它不工作! 謝謝!

+0

爲什麼當XCOPY作品'XCOPY下的批處理文件:\源\ *。 txt c:\ dest'或[Robocopy](http://www.computerhope.com/robocopy.htm)'robocopy c:\ hope c:\ hope2 * .txt'? – ziddarth 2015-02-11 20:23:00

回答

0

假設的正確性這個腳本可以工作:

@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)

1

試試看。這可能不完全正確,但它可以幫助你開始。 /m /y /d /sxcopy開關

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