Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

DOS Copy Script probleempje..

Pagina: 1
Acties:

  • FreakNL
  • Registratie: Januari 2001
  • Laatst online: 15:03

FreakNL

Well do ya punk?

Topicstarter
Ik zit met het volgende probleem:

Directory X bevat avi's
Directory R bevat de bijbehorende .srt's (ondertitel bestanden)

Nu probeer ik een script te schrijven wat de avi's in directory X list, en de bijbehorende .srt's ophaalt uit directory Y, en ze in directory X plaatst. De avi en corresponderende .srt bestanden hebben dezelfde naam, alleen een andere extensie.

Ik ben al een heel eind, dit is mijn script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
set /p folder=Geef het pad naar de te verwerken files: 
set folder2=R:\Ondertitels\Series

del "%folder%"\temp2.txt

For %%a in ("%folder%\*.*") do @echo %%~na>>"%folder%"\temp2.txt

for /F "delims=" %%i in (temp2.txt) do (  

  echo %folder2%\%%i.srt
  copy %folder2%\%%i.srt "%folder%"

)


Bij line 2 wordt het pad gevraagd, daar geef ik dus directory X op, bij line 3 wordt directory Y vastgezet.

Bij lijn 7 worden de bestanden gelist (zonder extensie), de output van temp2.txt is:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
01.01.79- Pilot (10-09-1993)
01.02.01- Deep Throat (17-09-1993)
01.03.02- Squeeze (24-09-1993)
01.04.03- Conduit (01-10-1993)
01.05.04- The Jersey Devil (08-10-1993)
01.06.05- Shadows (22-10-1993)
01.07.06- Ghost in the Machine (29-10-1993)
01.08.07- Ice (05-11-1993)
01.09.08- Space (12-11-1993)
01.10.09- Fallen Angel (19-11-1993)
01.11.10- Eve (10-12-1993)
01.12.11- Fire (17-12-1993)
01.13.12- Beyond the Sea (07-01-1994)
01.14.13- Gender Bender (21-01-1994)
01.15.14- Lazarus (04-02-1994)
01.16.15- Young at Heart (11-02-1994)
01.17.16- E.B.E. (18-02-1994)
01.18.17- Miracle Man (18-03-1994)
01.19.18- Shapes (01-04-1994)
01.20.19- Darkness Falls (15-04-1994)
01.21.20- Tooms (22-04-1994)
01.22.21- Born Again (29-04-1994)
01.23.22- Roland (06-05-1994)
01.24.23- The Erlenmeyer Flask (13-05-1994)


Er bevinden zich GEEN spaties op het eind van deze regels. Dat gaat dus allemaal goed.

In de loop tussen regel 9 en 14 zou in principe van elke regel de betreffende .srt gekopieerd moeten worden naar de directory X. De echo in regel 11 staat er voor debugging.

De output van mijn script is als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
SubMover.bat

Geef het pad naar de te verwerken files: R:\Series\X-Files\Seizoen 1
R:\Ondertitels\Series\01.24.23- The Erlenmeyer Flask (13-05-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.01.79- Pilot (10-09-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.02.01- Deep Throat (17-09-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.03.02- Squeeze (24-09-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.04.03- Conduit (01-10-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.05.04- The Jersey Devil (08-10-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.06.05- Shadows (22-10-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.07.06- Ghost in the Machine (29-10-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.08.07- Ice (05-11-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.09.08- Space (12-11-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.10.09- Fallen Angel (19-11-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.11.10- Eve (10-12-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.12.11- Fire (17-12-1993) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.13.12- Beyond the Sea (07-01-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.14.13- Gender Bender (21-01-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.15.14- Lazarus (04-02-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.16.15- Young at Heart (11-02-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.17.16- E.B.E. (18-02-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.18.17- Miracle Man (18-03-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.19.18- Shapes (01-04-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.20.19- Darkness Falls (15-04-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.21.20- Tooms (22-04-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.22.21- Born Again (29-04-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.23.22- Roland (06-05-1994) .srt
The system cannot find the file specified.
R:\Ondertitels\Series\01.24.23- The Erlenmeyer Flask (13-05-1994) .srt
The system cannot find the file specified.


Je ziet dat elke .srt netjes ge-echo-ed wordt door regel 11, alleen op 1 of andere manier plakt hij er een spatie tussen, en daar gaat de kopie in regel 12 dus fout...

Ik heb het idee dat ik er heel dichtbij ben, maar kunnen jullie mij het laatste zetje geven? Thanks!


/disclaimer
Reden dat ik dit nodig heb is omdat ik overstap van een HTPC naar een NMT, en voor een NMT moeten de .srt's in dezelfde directory staan. Handmatig doen is een hell, omdat ik heel veel van dit soort directories heb, en alle corresponderende .srt's staan los in de R:\Ondertitels\Series\ map.

  • FreakNL
  • Registratie: Januari 2001
  • Laatst online: 15:03

FreakNL

Well do ya punk?

Topicstarter
Mmm, te vroeg gepost...

Soms denk ik te moeilijk, met teveel tussenstappen.

Ik heb het als volgt opgelost:

code:
1
2
3
4
5
6
7
@echo off
set /p folder=Geef het pad naar de te verwerken files: 
set folder2=R:\Ondertitels\Series



For %%a in ("%folder%\*.*") do copy "%folder2%\%%~na.srt" "%folder%"



Output:
R:\Series>SubMover2.bat
Geef het pad naar de te verwerken files: R:\Series\X-Files\Seizoen 1
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
R:\Series>
File pakt de corresponderende .srt op uit R:\Ondertitels\Series, en plaatst hem in "%folder%" (in dit geval dus R:\Series\X-Files\Seizoen 1

Case closed!