Toon posts:

[batch] een bestand van dir1 naar dir2 te verplaatsen?

Pagina: 1
Acties:
  • 139 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben niet echt opgegroeid met Dos zeg maar ;)

maar ik hier een .bat file voor de training van SpamAssassin en na het indexerer moeten de bestanden uit de dir gemoved worden naar een andere dir. Anders worden duurt het indexeren de volgende keer een stuk langer.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off

@echo Processing non-spam folder [%1%], please wait...
echo.
train.exe -p rules\prefs --showdots --ham --dir %1%
echo.
echo.
@echo Processing spam folder [%2%], please wait...
echo.
train.exe -p rules\prefs --showdots --spam --dir %2%
echo.
echo.
pause


%1% moet ik nog vervangen door een fysiek path, moeten daar "" omheen? Dus "C:\program files\etc....\Spam" of zonder?

pause is alleen om er een soort van debug modus van te maken, dat kan weg als het goed werkt...

edit: stom [dos] in de topictitel vergeten..... ;(

[ Voor 6% gewijzigd door Verwijderd op 18-12-2003 17:49 ]


  • Fuzz10
  • Registratie: Oktober 2003
  • Niet online
als je zeker wilt zijn dat het goed gaat zou ik gewoon de
korte directorynamen gebruiken...

dus
c:progra~1 bla bladie~1

etc.

(max. 8 karakters)


De korte namen kom je te weten door dir /x

[ Voor 20% gewijzigd door Fuzz10 op 18-12-2003 17:52 ]


  • highking
  • Registratie: Augustus 2001
  • Laatst online: 11-02-2022

highking

Langharig tuig

code:
1
move dir1\bestandsnaam dir2\bestandsnaam


Dos is zo ingewikkeld :P

[ Voor 14% gewijzigd door highking op 18-12-2003 17:54 ]


Verwijderd

Topicstarter
highking schreef op 18 december 2003 @ 17:51:
code:
1
move dir1bestandsnaam dir2bestandsnaam


Dos is zo ingewikkeld :P
maar ik weet geen bestandsnamen, alleen een directory...

Verwijderd

Topicstarter
Fuzz10 schreef op 18 december 2003 @ 17:49:
als je zeker wilt zijn dat het goed gaat zou ik gewoon de
korte directorynamen gebruiken...

dus
c:progra~1 bla bladie~1

etc.

(max. 8 karakters)


De korte namen kom je te weten door dir /x
Ja oke, dat wist ik zelf nog net wel ;) dat je amax 8 tekens mag gebruiken....

  • highking
  • Registratie: Augustus 2001
  • Laatst online: 11-02-2022

highking

Langharig tuig

Verwijderd schreef op 18 december 2003 @ 17:54:
[...]


maar ik weet geen bestandsnamen, alleen een directory...
Als het gaat om alle bestanden in de directory, kan je "bestandsnaam" ook vervangen door een sterretje, wat simpelweg "alle bestanden" betekend.

Verwijderd

Gewoon:
code:
1
2
copy c:\srcpath\filena~1.ext c:\trgtpath\
del c:\srcpath\filena~1.ext


Leuker kunnen we het niet maken.... Wel makkelijker: (ik was het move commando vergeten)
code:
1
move c:\srcpath\filena~1.ext c:\trgtpath\


of gebruik * of ? als wildcards.

vb:
file??.*
*.dat
filena~1.*
image??.jpg

[ Voor 39% gewijzigd door Verwijderd op 18-12-2003 18:00 . Reden: oops, move bestond natuurlijk ook nog |:( ]


  • highking
  • Registratie: Augustus 2001
  • Laatst online: 11-02-2022

highking

Langharig tuig

Verwijderd schreef op 18 december 2003 @ 17:55:
Gewoon:
code:
1
2
copy c:\srcpath\filena~1.ext c:\trgtpath\
del c:\srcpath\filena~1.ext


Leuker kunnen we het niet maken.... Ook niet makkelijker...
Inderdaad ja, en als je dan de copy vervang voor een move, dan mag je de regel daaronder ook nog eens weglaten ;)

  • Osiris
  • Registratie: Januari 2000
  • Niet online
code:
1
move dir1\*.* dir2


Gewoon alle bestanden (*.*) uit dir1 toch? :?

Overigens hoef je geen @ meer te gebruiken voor echo als je 1maal @echo off gedaan hebt

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
highking schreef op 18 december 2003 @ 17:55:
[...]


Als het gaat om alle bestanden in de directory, kan je "bestandsnaam" ook vervangen door een sterretje, wat simpelweg "alle bestanden" betekend.
Dat moet in dos wel *.* zijn dacht ik , anders pak je alleen de bestanden zonder extensie

edit:

Osiris was sneller :)

[ Voor 10% gewijzigd door u_nix_we_all op 18-12-2003 18:01 ]

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • highking
  • Registratie: Augustus 2001
  • Laatst online: 11-02-2022

highking

Langharig tuig

u_nix_we_all schreef op 18 december 2003 @ 17:58:
[...]


Dat moet in dos wel *.* zijn dacht ik , anders pak je alleen de bestanden zonder extensie
Je hebt helemaal gelijk ;)

Vandaag met Linux bezig geweest, vandaar deze fout :P

Verwijderd

highking schreef op 18 december 2003 @ 17:57:
[...]
Inderdaad ja, en als je dan de copy vervang voor een move, dan mag je de regel daaronder ook nog eens weglaten ;)
Stom he |:(
Het is gewoon te ver weg gezakt dat dos.

Verwijderd

Topicstarter
:) eigenlijk is het zo simpel, maar als je de hele dag gewend bent om met directory listings te werken is het soms een beetje verwarrend

thnx guys

Verwijderd

Topicstarter
mm gaat nog niet helemaal goed:

ik roep in de .bat file de train functie als volgt aan:

code:
1
train.exe -p rulesprefs --showdots --ham --dir c:progra~1merakmailexport~1allesSANoSpam

(ook geprobeerd zonder backslag op het eind, of met alleen maar forwardslashes of met quotes om de directory)

maar ik krijg altijd de volgende error:

code:
1
Can't open (...) no such file or directory

[ Voor 14% gewijzigd door Verwijderd op 18-12-2003 18:20 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Je moet de dirs wel scheiden met \ natuurlijk :X

[ Voor 7% gewijzigd door Osiris op 18-12-2003 18:26 ]


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 23-02 18:12

Dido

heforshe

c:progra~1merakmailexport~1allesSANoSpam

Da's geen directory, neem ik aan...

c:\progra~1\merak\mail\export~1\allesSA\NoSpam

Misschien wel? (gokje)

Wat betekent mijn avatar?


Verwijderd

Topicstarter
Dido schreef op 18 december 2003 @ 18:28:
c:progra~1merakmailexport~1allesSANoSpam

Da's geen directory, neem ik aan...

c:\progra~1\merak\mail\export~1\allesSA\NoSpam

Misschien wel? (gokje)
Hmm dat snap ik natuurlijk ook wel, maar volgens mij ligt dat aan het forum, want ik weet zeker dat ik ze hier in dit vak heb getikt... Raar...

Ik weet overigens wel wat het probleem was, er stond ergens nog een .nl in (niet bij de 1e 6 chars iig) en daarvan ging ie op tilt.... Logisch

Kleine toegift: hoe knal ik er een return code in?

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 19-02 18:00

Guldan

Thee-Nerd

ook ff ter informatie copy kan alleen gebruikt worden om alle bestanden vanuit een directory te kopieren.Dus in die directory staanded mappen worden niet meegekopieerd.Daarvoor moet je Xcopy gebruiken.Dan kopieer je alles.

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


  • ESteg
  • Registratie: November 2000
  • Laatst online: 19-02 13:11
Verwijderd schreef op 18 december 2003 @ 18:48:
[...]


Hmm dat snap ik natuurlijk ook wel, maar volgens mij ligt dat aan het forum, want ik weet zeker dat ik ze hier in dit vak heb getikt... Raar...
Jaaaja... ;) :D

Wat bedoel je met return code (of moet ik mij nu gaan schamen...? :o)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22:12

.oisyn

Moderator Devschuur®

Demotivational Speaker

En dit heeft ondertussen dus helemaal niets met programmeren te maken. Batch en shellscript topics horen gewoon in de betrekkelijke OS-fora, WOS en NOS

enkeltje WOS dus in dit geval
PW -> WOS

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
ESteg schreef op 18 december 2003 @ 18:53:
[...]

Jaaaja... ;) :D

Wat bedoel je met return code (of moet ik mij nu gaan schamen...? :o)
Dat je een 1,2 of 3 terugkrijgt afhankelijk van het resultaat in de batchfile

  • ESteg
  • Registratie: November 2000
  • Laatst online: 19-02 13:11
Ik meen me te herinneren dat ik ook leuke dingen gedaan heb met error codes in combinatie met de "if" en "goto" opdrachten...

Als je ergens een MS-DOS 6 hebt liggen of iets dergelijks, dan kun je veel informatie daarover terugvinden in de help functie. "help goto" bijvoorbeeld, je krijgt dan als het goed is ontzettend veel informatie over die opdrachten die je in batch-bestanden kunt gebruiken.

Maar ongetwijfeld is er ook met Google heel wat te vinden :)

[edit]
Check deze site, daar staat de complete 6.22 help op (bij deze gebookmarked), hier moet je héél veel kunnen vinden, en dan met name met betrekking tot de if en goto opdrachten: http://www.vfrazee.com/ms-dos/6.22/help/

[ Voor 32% gewijzigd door ESteg op 18-12-2003 19:17 ]


Verwijderd

Topicstarter
ESteg schreef op 18 december 2003 @ 19:11:
Maar ongetwijfeld is er ook met Google heel wat te vinden :)
Ja ik kan wel vinden hoe ik ze uit kan lezen etc, maar dat is allemaal niet zo belangrijk, ik wil ze graag genereren...

  • ESteg
  • Registratie: November 2000
  • Laatst online: 19-02 13:11
Mijn kennis is tanende, maar voor zover ik weet komt in jouw geval "train.exe" (al dan niet) met een errorcode terug, en jij kunt daar in de batchfile met goto een gevolg aan koppelen, zoals een mededeling (echo Alles is okee!), of een volgende opdracht verderop in de batch file.

Wat wil je uiteindelijk bereiken d.m.v. de errorcodes? Ik begrijp je vraag niet helemaal goed, vrees ik :)

Verwijderd

Topicstarter
de batch file gebruik ik in de taskmanager, en de taskmanager kan de return code van de vorige uitvoer weergeven, zodat je kan zien of alles ok is verlopen.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Tsss... .oisyn... Dit hoort in Non-Windows Operating Systems, dat weet je best ;)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • ESteg
  • Registratie: November 2000
  • Laatst online: 19-02 13:11
Ik denk dat je op deze site wellicht iets verder kunt komen:

http://www.robvanderwoude.com/errorlevel.html

Hier staan een paar manieren in beschreven (met name in het onderste deel van de tekst) om een errorlevel-output te genereren. Maar dit gebeurt dus met een "extern" programmaatje, want een batch file zelf lijkt dit niet te kunnen doen, wat ik al vreesde.

Verwijderd

Topicstarter
moto-moi schreef op 18 december 2003 @ 19:57:
Tsss... .oisyn... Dit hoort in Non-Windows Operating Systems, dat weet je best ;)
Non-Windows? Ik draait echt windows 2000 ;) Hup een move

Verwijderd

ESteg schreef op 18 december 2003 @ 19:11:

[edit]
Check deze site, daar staat de complete 6.22 help op (bij deze gebookmarked), hier moet je héél veel kunnen vinden, en dan met name met betrekking tot de if en goto opdrachten: http://www.vfrazee.com/ms-dos/6.22/help/
offtopic:
/me is u eeuwig dankbaar _o_

  • ESteg
  • Registratie: November 2000
  • Laatst online: 19-02 13:11
Verwijderd schreef op 18 december 2003 @ 21:27:
[...]

offtopic:
/me is u eeuwig dankbaar _o_
Om eerlijk te zijn: ik mijzelf ook :D
Toevalstreffer, goed voor de kerstsfeer... :Y)
Pagina: 1