Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Batch: .BAT aseman paikalla olo tarkistus.

Ville [12.08.2006 02:06:28]

#

Olen koettanut tehdä komentojonoa joka tarkistaisi onko asema I: paikalla.
Jotain tällaista oon kokeillu:

@ECHO OFF
IF "%I:\"=="" GOTO pettymys
IF EXIST "%I:\" GOTO varmistus

:varmistus
ECHO Asema I on paikalla
GOTO tekemään jotain

:pettymys
ECHO Täällä mitään asemaa oo...

Silti se vaan printtaa tuon varmistuksen tekstin ja alkaa touhuta juttujaan :(
Eli mitenkä tuo pitäisi kirjoittaa että toimisi, vai saako sitä lainkaan?
En oo näitten juttujen kanssa kovin tuttu, joten todennäköisesti oon itte mokannu :P

FooBat [12.08.2006 02:38:26]

#

En minäkään näitä montaa ole tehnyt, mutta tuollainen näyttäisi toimivan ainakin WinXP:ssä.

@ECHO OFF

IF EXIST "I:\" GOTO varmistus
GOTO pettymys

:varmistus
ECHO Asema I on paikalla
GOTO end

:pettymys
ECHO Täällä mitään asemaa oo...
:end

Extreme [12.08.2006 12:18:16]

#

http://www.computerhope.com/if.htm

Ville [12.08.2006 14:30:09]

#

OK, nythän tuo toimii, kiitos.
Ja tuo Extremen laittama linkkikin oli hyvä, kiitos siitäkin :)
Mutta muutama juttu vielä askarruttaa, kaikkien lukemieni sivujen jälkeenkin...

Eli, jos käydään batin ajon aikana esim d:\kansio\toinen kansio\kohde\ tekemässä jotain ja seuraavaksi halutaan mennä esim.c:\%USERPROFILE\Omat tiedostot\lisempää kansiota\ja vielä
yksi kansio\kohde2\(tulikos tuo nyt oikein??) kansioon tekemään jotain.
Kirjotetaanko se esim. näin:

xcopy d:\Kansio\alikansio\kohde jne....
xcopy c:\%USERPROFILE\omat tiedostot\kansio\toinen\kohde2\ jne...

vai pitääkö käyttää cd komentoa noiden rivien välissä??
Batti itse sijaitsee c:\kansio polussa jos sillä jotain väliä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta