2015-04-11 5 views
0

Я делаю программу резервного копирования для моего института, но Robocopy копия показываетRobocopy показывает недопустимый параметр

Started : 11 April 2015 01:21:07 PM 
    Source - F:\Training\HPES\CoreJava\ 
    Dest - F:\11-04-2015\ 

    Files : 
    Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30 

------------------------------------------------------------------------------ 

ERROR : Invalid Parameter #3 : "\0121PM" 

     Simple Usage :: ROBOCOPY source destination /MIR 

      source :: Source Directory (drive:\path or \\server\share\path). 
     destination :: Destination Dir (drive:\path or \\server\share\path). 
       /MIR :: Mirror a complete directory tree. 

    For more usage information run ROBOCOPY /? 

Мой код

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a 

for /f "tokens=1,2,3 delims=: " %%A in ('TIME /T') do set mytime=%%A%%B%%C 
pause 
mkdir %datestr% 
cd %datestr% 
mkdir %mytime% 
cd %mytime% 

pause 
robocopy F:\Training\HPES\CoreJava F:\%datestr%\%mytime% /e 
pause 

Это показывает недопустимую ошибку параметра, но когда я запускаю это кода, удалив% mytime% block в исходной части, тогда он работает хорошо. HELP

ответ

0

В

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a 

date /t включает в себя пространство в конце своей продукции, и это пространство входит в datestr переменной и в последней команде вы выполняете с помощью переменной. Так F:\%datestr%\%mytime% включает в себя пространство (в конце %datestr%, превращая один аргумент в два

Если вы хотите сохранить пространство, а затем использовать кавычки:. "F:\%datestr%\%mytime%"

Если вы не хотите, чтобы сохранить пространство, видя ваш выход, вы можете изменить на

for /f %%a in ("%date%") do set "datestr=%%a" 

 Смежные вопросы

  • Нет связанных вопросов^_^