Avatar billede renegademaster Nybegynder
03. januar 2008 - 12:40 Der er 14 kommentarer og
2 løsninger

Copy og goto i .bat fil

Hej har lige en fil der driller lidt, har set mig blind på det.
ved ikke om det kan gøres på denne måde.

Det her virker:
<kode>
If exist c:\windows\fonts\MinionPro-Bold.otf goto end

If not exist c:\windows\fonts\MinionPro-Bold.otf goto update


:update

Copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Bold.otf" c:\windows\fonts

regedit /s \\srv-exchange-2\install$\FONTS\font.reg

start \\srv-exchange-2\install$\FONTS\besked.txt

goto end

:end


</kode>

i .reg filen står der:
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
"MinionPro-Bold"="MinionPro-Bold.otf"

ved ikke om det er nødvendigt?.

nå men det virker som sagt. nu ligger landet bare sådan at jeg skal ligge en 7-8 andre fonts ind også.

så jeg prøvede følgende:
<kode>
If exist c:\windows\fonts\MinionPro-Bold.otf goto end1

If not exist c:\windows\fonts\MinionPro-Bold.otf goto update1


:update1

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Bold.otf" C:\Windows\Fonts


:end1


If exist c:\windows\fonts\MinionPro-BoldIt.otf goto end2

If not exist c:\windows\fonts\MinionPro-BoldIt.otf goto update2


:update2

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-BoldIt.otf" C:\Windows\Fonts

:end2



If exist c:\windows\fonts\MinionPro-It.otf goto end3

If not exist c:\windows\fonts\MinionPro-It.otf goto update3


:update3

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-It.otf" C:\Windows\Fonts

:end3



If exist c:\windows\fonts\MinionPro-Medium.otf goto end4

If not exist c:\windows\fonts\MinionPro-Medium.otf goto update4


:update4

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Medium.otf" C:\Windows\Fonts

:end4


If exist c:\windows\fonts\MinionPro-MediumIt.otf goto end5

If not exist c:\windows\fonts\MinionPro-MediumIt.otf goto update5


:update5

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-MediumIt.otf" C:\Windows\Fonts

:end5


If exist c:\windows\fonts\MinionPro-Regular.otf goto end6

If not exist c:\windows\fonts\MinionPro-Regular.otf goto update6


:update6

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Regular.otf" C:\Windows\Fonts

:end6


If exist c:\windows\fonts\MinionPro-Semibold.otf goto end7

If not exist c:\windows\fonts\MinionPro-Semibold.otf goto update7


:update7

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Semibold.otf" C:\Windows\Fonts

:end7


If exist c:\windows\fonts\MinionPro-SemiboldIt.otf goto end8

If not exist c:\windows\fonts\MinionPro-SemiboldIt.otf goto update8


:update8

copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-SemiboldIt.otf" C:\Windows\Fonts

:end8


start \\srv-exchange-2\install$\FONTS\besked1.txt
pause

goto end

:end

</kode>

Håber i kan fortælle mig hvorfor det ikke virker, den skriver det bare som tekst istedet for at kopiere filerne. det er kun den første der virker. går ud fra man ikke kan gøre som jeg har gjort, altså bare at sætte et tal efter.

150 points for en løsning.

/ReneGadeMaster
03. januar 2008 - 13:07 #1
Du _ka_ jo prøve med mindre længde på :update? variablen... synes at have oplevet det før...

Men hvorfor ikke bare copy filerne over uanset om de findes eller ej ?
03. januar 2008 - 13:10 #2
Hvad med sådan for alle:

If not exist c:\windows\fonts\MinionPro-BoldIt.otf copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-BoldIt.otf" C:\Windows\Fonts
Avatar billede renegademaster Nybegynder
03. januar 2008 - 13:11 #3
hmm det var da egentlig en kanon go idé :)

dvs.
bare en masse copy commands lige i røven af hinanden?

så er jeg også sikker på de har den helt rigtige font...
Avatar billede gammelhat Nybegynder
03. januar 2008 - 13:44 #4
Hvis man skal lave en masse af det samme, så kan det være en fordel at lave "funktioner" :

@echo off
call :CopyFile MinionPro-Bold.otf
call :CopyFile MinionPro-BoldIt.otf
call :CopyFile MinionPro-It.otf
...
goto :eof

:CopyFile
if not exist "%*" (
  echo copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\%*" C:\Windows\Fonts
)
Avatar billede renegademaster Nybegynder
03. januar 2008 - 13:53 #5
Har lige prøvet dette:

<kode>
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-BoldIt.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Bold.otf" C:\Windows\Fonts
Copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-BoldIt.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-It.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Medium.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-MediumIt.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Regular.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-Semibold.otf" C:\Windows\Fonts
copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\MinionPro-SemiboldIt.otf" C:\Windows\Fonts

pause

:end
</kode>

det virker ikke, der er kun en fil der bliver overført.
det er altså også en rigtig pis mappe den der "c:\windows\font"...

well jeg må lige prøve det gammelhat siger.

er tilbage om 5 min med resultatet :D
Avatar billede renegademaster Nybegynder
03. januar 2008 - 13:59 #6
hmmm...

den skriver det bare? den copy'er ikke?
<kode>
@echo off
call :CopyFile MinionPro-Bold.otf
call :CopyFile MinionPro-BoldIt.otf
call :CopyFile MinionPro-It.otf
...
goto :eof

:CopyFile
if not exist "%*" (
  echo copy "\\srv-exchange-2\install$\Lino Type\Linotype Fonts\OT Family\Minion\%*" C:\Windows\Fonts
)

</kode>
Avatar billede gammelhat Nybegynder
03. januar 2008 - 14:18 #7
echo foran copy må du gerne smide væk.

funktionelt er der ikke forskel på min og den med de mange copy-linjer (din egen udgave burde faktisk også virke). Så det egentlige problem må ligge et andet sted
Avatar billede renegademaster Nybegynder
03. januar 2008 - 14:41 #8
hmm det kan godt være det egenligt har virket.

se lige dette prtsc: www.dluxz.dk/bat.jpg

hvis jeg kigger i mappen fra cmd'en, ligger filerne der, men i stifinderen er de der ikke. i word kan man skrive med bode bold, it semi bold osv.

er det bare vista der er noget knep?

hvilket script skal jeg vælge? og er det nødvendigt at køre den .reg fil?
(det er jo pisse besværligt :D)
Avatar billede renegademaster Nybegynder
03. januar 2008 - 14:42 #9
hov lige en lille fejl.
det virker IKKE med bold.
03. januar 2008 - 20:54 #10
Lige en hurtig:

Når du kører [03/01-2008 13:53:54] så skriver du at der kun bliver overført/copy én fil... hvordan ser du det ?
Er det i det der vises i vinduet (før din foreløbige [pause]) ?
Eller hyr ?
Avatar billede renegademaster Nybegynder
04. januar 2008 - 08:17 #11
karise_Larry --> ja det var kun "MinionPro-Bold.otf", jeg kunne se i min mappe.
men tror de andre også er der, jeg kan jo se dem i DOS.

jeg tror mere og mere at den .reg fil er nødvendig?

laver lige en test med en .reg fil pr .oft fil.
06. januar 2008 - 21:22 #12
... ja - prøv dette 'trix' med en *.reg fil omgang for hver...
Avatar billede gammelhat Nybegynder
06. januar 2008 - 23:16 #13
Nu behøver du ikke nødvendigvis en regfil til hver

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
"MinionPro-Bold"="MinionPro-Bold.otf"
"min font"="filnavn på font"
"min font 2"="filnavn på font 2"

...
Avatar billede renegademaster Nybegynder
07. januar 2008 - 11:21 #14
Virker og er sendt til bruger :)

takker

opret venligst svar :)
07. januar 2008 - 21:37 #15
Ping...
Deles med <gammelhat> *S*
Avatar billede gammelhat Nybegynder
09. januar 2008 - 06:52 #16
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester