batchbestand

Pagina: 1
Acties:
  • 503 views

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste lezers,

Ik heb een opdracht gekregen om een batchfile te maken.
Dit moet op school gebruikt worden, op laptops met Vista en XP.

Zoals hij nu is, werkt hij goed onder XP.
Maar hij is nog niet af, en ik kom niet verder.

De eisen zijn:

-werkt nu onder XP maar moet ook onder Vista werken.
Xp is Documents and Settings en Vista is ....?

-cdromspeler is nu aangegeven met D:\
%CDROM% werkt niet. Stel dat iemand een andere letter gebruikt?


Ik hoop dat iemand mij kan helpen.

De code is nu als volgt:
@echo off
title Dit programma zet de bestanden op de goede plek.

echo Beste deelnemer.

echo.

echo Dit programma is speciaal geschreven voor CADELIT.

echo.

echo Om ervoor te zorgen dat de bestanden op de goede plek neergezet worden.

echo.

echo Ondersteuning voor XP en VISTA.

echo.

pause

copy /y "D:\AutoCAD 2009\CDI_ALG.slb" "%homedrive%\Program Files\Cadelit\Lib"

echo.

copy /y "D:\AutoCAD 2009\Acad-K06.cui" "%systemdrive%\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2009\R17.2\enu\Support"

echo.

copy /y "D:\AutoCAD 2009\Acad-L06.cui" "%systemdrive%\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2009\R17.2\enu\Support"

echo.

copy /y "D:\AutoCAD 2009\CadelitK.cui" "%systemdrive%\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2009\R17.2\enu\Support"

echo.

copy /y "D:\AutoCAD 2009\CadelitL.cui" "%systemdrive%\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2009\R17.2\enu\Support"

echo.

copy /y "D:\AutoCAD 2009\Cadelit.dwt" "%systemdrive%\Documents and Settings\%username%\Local Settings\Application Data\Autodesk\AutoCAD 2009\R17.2\enu\Template"

echo.

copy /y "D:\AutoCAD 2009\CADELIT.ctb" "%systemdrive%\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2009\R17.2\enu\Plot Styles"

echo.

echo. De bestanden zijn geplaatst.
echo.
echo.
echo.
echo.
echo.
echo.
echo.


pause

exit

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 17:57

g0tanks

Moderator CSA
In Vista is het: C:\Users\g0tanks\Documents en %CDROM% zou gewoon moeten werken, heb je er ook :\ erachter gezet? Want volgens mij geeft %CDROM% alleen de stationsletter (dus D in plaats van D:\).

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • vmsw
  • Registratie: Juli 2006
  • Laatst online: 24-02 19:47
%HOMEPATH% voor gebruikersmap, denk dat je die bedoelt

Zie Wikipedia: Environment variable

[ Voor 48% gewijzigd door vmsw op 13-05-2009 20:15 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke bedankt,

Zou ik dan ergens moeten invoeren:

Zo iets van: detecteer eerst of iemand XP heeft, óf Vista en doe dan dit ?

IF EXIST ?

Acties:
  • 0 Henk 'm!

  • TheLunatic
  • Registratie: April 2001
  • Laatst online: 16-08 21:48

TheLunatic

Ouwe boxen.

%CDROM% werkt hier niet in XP hoor! Ik zou een commandline parameter vereisen, wat dan de driveletter is. Dus c:\>bestand.bat d[enter] voor D:\, c:\>bestand.bat e[enter] voor E:\...

Mother, will they like this song?


Acties:
  • 0 Henk 'm!

  • vmsw
  • Registratie: Juli 2006
  • Laatst online: 24-02 19:47
Verwijderd schreef op woensdag 13 mei 2009 @ 20:13:

Zo iets van: detecteer eerst of iemand XP heeft, óf Vista en doe dan dit ?
Niet altijd nodig als je goede env vars gebruikt?


En voorzover ik weet heeft de cdspeler niet zo'n eigen variabele...

[ Voor 14% gewijzigd door vmsw op 13-05-2009 20:17 ]


Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 17:57

g0tanks

Moderator CSA
Met ver kan je het OS bekijken, ik heb even gegoogled naar een batch script voor je:

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

ver | find "Version 5.1"
if errorlevel 1 goto NotXP
echo XP
goto end

:NotXP
ver | find "Version 6.0"
if errorlevel 1 goto end
echo Vista
goto end

:end

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Wiethoofd
  • Registratie: Juli 2007
  • Laatst online: 14-08 12:22

Wiethoofd

Broadcast TOM

De variabele voor de huidige schijf (mocht je het batch-bestand vanaf de CD zelf starten) is %cd:~0,2%
Heb je die variabele als locatie en je start hem vanaf D: dan wordt het dus D, E = E etc.

Voor makkelijk naar je gebruikersmap kan je %userprofile% gebruiken.

@echo off
title Dit programma zet de bestanden op de goede plek.

set "locatie=%appdata%\Autodesk\AutoCAD 2009\R17.2\enu"

echo Beste deelnemer.
echo.
echo Dit programma is speciaal geschreven voor CADELIT.
echo.
echo Om ervoor te zorgen dat de bestanden op de goede plek neergezet worden.
echo.
echo Ondersteuning voor XP en VISTA.
echo.

pause
copy /y "%cd:~0,2%\AutoCAD 2009\CDI_ALG.slb" "%programfiles%\Cadelit\Lib"
echo.
copy /y "%cd:~0,2%\AutoCAD 2009\Acad-K06.cui" "%locatie%\Support"
echo.
copy /y "%cd:~0,2%\AutoCAD 2009\Acad-L06.cui" "%locatie%\Support"
echo.
copy /y "%cd:~0,2%\AutoCAD 2009\CadelitK.cui" "%locatie%\Support"
echo.
copy /y "%cd:~0,2%\AutoCAD 2009\CadelitL.cui" "%locatie%\Support"
echo.
copy /y "%cd:~0,2%\AutoCAD 2009\Cadelit.dwt" "%locatie%\Template"
echo.
copy /y "%cd:~0,2%\AutoCAD 2009\CADELIT.ctb" "%locatie%\Plot Styles"

echo.
echo. De bestanden zijn geplaatst.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause<nul
exit

[ Voor 87% gewijzigd door Wiethoofd op 13-05-2009 20:38 ]

Volg me op Twitter/X & Bluesky


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt,

Hoe zou mijn code er dan uit komen te zien?

Het lukt me niet om het precies op de goede plek te zetten.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmm dit lijkt niet te werken bij mij.

"%cd:~0,2%\ klopt dat wel?

Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Je kunt "Application Data" in één keer aanspreken via %APPDATA% (zowel op XP als op Vista).

De naam van je script kun je opvragen met %0. Als je "%0\.." gebruikt heb je de directory van het batch bestand te pakken. Van daaruit kun je via relatieve paden je files terugvinden.

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

  • Vorkie
  • Registratie: September 2001
  • Niet online
http://www.experts-exchan...ows_Vista/Q_22974265.html
Is een mooie link,

info genoeg iig

Acties:
  • 0 Henk 'm!

  • Wiethoofd
  • Registratie: Juli 2007
  • Laatst online: 14-08 12:22

Wiethoofd

Broadcast TOM

Wat je ook nog kunt doen is zorgen dat het batch bestand in de root van je directory staat en de map waarin de te kopiëren bestanden in een map die ook in de root staat, zo kan je zonder drive te specificeren toch die map aanwijzen door gewoon de mapnaam en bestandsnaam tussen aanhalingstekens als source neer te zetten.

Volg me op Twitter/X & Bluesky


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ten eerste horen Batch bestanden niet thuis in PRG maar in Windows Clients: Waar hoort mijn topic?

Ten tweede willen we op got dat je iets meer moeite doen. Gewoon je code droppen en vragen of iemand je kan helpen zonder aan te geven wat er niet werkt is niet de bedoeling. Op deze manier lijkt het meer op een script request.

Deze doe ik op slot. Als je nog vragen over Batch bestanden hebt kun je een nieuw topic openen in Windows Clients. Maar lees dan eerst even de Quickstart door en ook het lokale beleid daar, anders heb je grote kans dat die ook weer op slot gaat.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1

Dit topic is gesloten.