Aanpassen batch: als register = schrijf dan computernaam weg

Status
Niet open voor verdere reacties.

sjors86

Gebruiker
Lid geworden
3 dec 2007
Berichten
10
Momenteel heb ik een script dat werkt, maar dit moet enig sinds worden aangepast.

@echo off

setlocal ENABLEEXTENSIONS
set KEY_NAME=HKLM\SOFTWARE\Wow6432Node\Pacs\Environment
set VALUE_NAME=WISE_HOST
for /F "usebackq tokens=3" %%A IN (`reg query "%KEY_NAME%" /v "%VALUE_NAME%" 2^>nul ^| find "%VALUE_NAME%"`) do (
echo Wise server: %%A
)
pause

Deze kijkt naar de waarde van een register key en laat deze zien d.m.v. echo

Wat ik nu wil bereiken met de aanpassing dat als %%A een bepaalde waarde heeft bijvoorbeeld Groningen dat die de computernaam wegschrijft in een txt bestand.

>> \\server\score.txt

Hopelijk kunnen jullie mij hiermee helpen.
 
a. Je kunt niet zomaar iets naar een server schrijven in batch. Daarvoor moet je eerst een netwerkverbinding hebben en die gekoppeld hebben aan een schijfletter.
b. Je kunt natuurlijk testen op de waarde van %%A en afhankelijk van de resultaten de echo uitvoeren.

Zou iets kunnen zijn als (niet getest, dus doe dat eerst, en natuurlijk de gedeelde map en servernaam aanpassen aan jouw situatie, toevoegingen in rood):

Code:
@echo off
[COLOR="#FF0000"]net use v: \\server\gedeeldemap[/COLOR]
setlocal ENABLEEXTENSIONS
set KEY_NAME=HKLM\SOFTWARE\Wow6432Node\Pacs\Environment
set VALUE_NAME=WISE_HOST
for /F "usebackq tokens=3" %%A IN (`reg query "%KEY_NAME%" /v "%VALUE_NAME%" 2^>nul ^| find "%VALUE_NAME%"`) do (
echo Wise server: %%A
[COLOR="#FF0000"]IF "%%A" == "groningen" echo %%A >> v:\score.txt[/COLOR]
)
[COLOR="#FF0000"]net use v: /delete[/COLOR]
pause

Tijs.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan