DOS commando's

Status
Niet open voor verdere reacties.

Deadcops

Gebruiker
Lid geworden
8 feb 2008
Berichten
205
Hallo,

Ik heb 2 verschillende batch scriptjes gemaakt voor en dos machine om een back up uit te voeren. Helaas werken deze beide niet, waarschijnlijk omdat de commando's niet bestaan in dos.

Zijn er toevallig add-ins ofzo voor dos net zoals robocopy?
Of ken ik misschien de cmd.exe op mijn dos machine opstarten ofzo?

Dit zijn de 2 scripts:

1:
Code:
@echo off 
REM #De maand variable goed zetten
for /f "tokens=2-4 delims=/ " %%a in ('DATE /T') do set month=%%a

) 
REM #De vorige maand als variable zetten.
IF %month%==01 set prevmonth=12
	if %month%==02 set prevmonth=01
	if %month%==03 set prevmonth=02
	if %month%==04 set prevmonth=03
	if %month%==05 set prevmonth=04
	if %month%==06 set prevmonth=05
	if %month%==07 set prevmonth=06
	if %month%==08 set prevmonth=07
	if %month%==09 set prevmonth=08
	if %month%==10 set prevmonth=09
	if %month%==11 set prevmonth=10
	if %month%==12 set prevmonth=11

)


robocopy D:\Data\Dex\ L:\095540\PS25\%prevmonth%\dex\ /E


2:
Code:
Color A
cls 
@Echo Type het nummer van de maand en druk op enter

@Echo Januari  = 1
@Echo Februari = 2
@Echo Maart    = 3
@Echo April    = 4
@Echo Mei      = 5
@Echo Juni     = 6
@Echo Juli     = 7
@Echo Augustus = 8
@Echo September= 9
@Echo Oktober  = 10
@Echo November = 11
@Echo December = 12

@echo off
set /p Input=
if /i "%Input%"=="1" (goto Januari)
if /i "%Input%"=="2" (goto Februari)
if /i "%Input%"=="3" (goto Maart)
if /i "%Input%"=="4" (goto April)
if /i "%Input%"=="5" (goto Mei)
if /i "%Input%"=="6" (goto Juni)
if /i "%Input%"=="7" (goto Juli)
if /i "%Input%"=="8" (goto Augustus)
if /i "%Input%"=="9" (goto September)
if /i "%Input%"=="10" (goto Oktober)
if /i "%Input%"=="11" (goto November)
if /i "%Input%"=="12" (goto December)
if /i "%Input%"=="test" (goto Test)

exit /b

:Januari 
robocopy E:\Januari\ H:\110\087934\1\
exit /b

:Februari
robocopy E:\Februari\ H:\110\087934\2\ 
exit /b

:Maart
robocopy E:\Maart\ "H:\110\087934\3\
exit /b

:April
robocopy E:\April\ H:\110\087934\4\
exit /b

:Mei
robocopy E:\Mei\ H:\110\087934\5\
exit /b

:Juni
robocopy E:\Juni\ H:\110\087934\6\
exit /b

:Juli
robocopy E:\Juli\ H:\110\087934\7\
exit /b

:Augustus
robocopy E:\Augustus\ H:\110\087934\8\
exit /b

:September
robocopy E:\September\ H:\110\087934\9\
exit /b

:Oktober
robocopy E:\Oktober\ H:\110\087934\10\
exit /b

:November
robocopy E:\November\ H:\110\087934\11\
exit /b

:December
robocopy E:\December\ H:\110\087934\12\
exit /b

:Test
robocopy E:\  H:\110\


Code 1 werkt denk ik niet omdat dos het commando delims niet kent.
Code 2 werkt niet omdat het input commando naar mijn mening al niet werkt

Iemand een idee hoe ik dit op kan lossen of anders kan doen?
Het gaat erom dat de gebruiker zelf zo min mogelijk hoeft te doen!
 
In het eerste script de code

Code:
for /f "tokens=2-4 delims=/ " %%a in ('DATE /T') do set month=%%a

te vervangen door

Code:
for /f "tokens=2-4 delims=/-" %%a in ('DATE /T') do set month=%%a
 
Nee dat is het niet want het gaat om de maand.
De dos pc heeft de amerikaanse notatie dus Tue 03/10/2009
Dat stuk wat ik heb geschreven pakt hier de 03 eruit en dat is goed want dat ik de maand (Maart)

toch bedankt

P.S. In de dos box van Windows XP werken beide scripts wel!!!
 
Dan zal je robocopy moeten vervangen door xcopy.

Okee je hebt gelijk. Robocopy werkt niet in dos.
Maar als ik robocopy vervang door xcopy heb ik nog steeds deze problemen:
Code 1 zit er nog steeds mee dat hij delims niet ken
Code 2 kan ik nog steeds geen input geven en gaat hij dus meteen alle copy codes uitvoeren......
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan