Quantcast
Channel: Alla ämnen på Eforum
Viewing all articles
Browse latest Browse all 7756

If-sats till batchfil

$
0
0
Kort bakgrund. Jag har ett batchscript där användaren kan välja bland att köra massa verktyg. Ett av dom är att automatiskt köra windows update under ett x antal uppstarter av datorn. Jag har själv suttit och programmerat php, html, mysql osv men det är ju inte samma språk och hur man skriver if satserna skiljer sig rejält. Har googlat men inte kommit fram till nån lösning på mitt problem som är följande: Jag kan inte få till en fungerande if-sats för kontroll om datorn har startat om det antal gånger som användaren angett i batchfilen. Hjälp! Jag blir tokig snart. Har 2 variabler som skrivs till 2 olika filer. En av variablerna skriver användaren in själv (antalet omstarter som användaren vill att windows update ska köras direkt vid start). Den andra variabeln ökas genom att scriptet körs vid uppstart och adderar +1 Den fungerande koden för räknaren ser ut som följande. @ECHO OFF IF EXIST %userprofile%\Downloads\restarts.txt GOTO Start ECHO At how many logins do you want windows update to run immidiatly at startup?: SET /p RESTARTS="" >%userprofile%\Downloads\restarts.txt echo %RESTARTS% SET /a Counter=0 >%userprofile%\Downloads\count.txt echo %Counter% ATTRIB +R +H %userprofile%\Downloads\restarts.txt :Start CLS SET /p CurrentCount=<%userprofile%\Downloads\count.txt SET /a NewCount=%CurrentCount%+1 ECHO Counting at %NewCount% ATTRIB -R -H %userprofile%\Downloads\count.txt >%userprofile%\Downloads\count.txt echo %newcount% ATTRIB +R +H %userprofile%\Downloads\count.txt PAUSE :End EXIT men jag skulle vilja ha en if-sats som kontrollerar och jämför filerna med varandra. Scriptet är inte färdigt ännu. Det ska adderas kod för att automatiskt ta bort de skapade textfilerna (Varifrån variablerna läses). Men det borde vara möjligt att skapa en ifsats som gör att kodrader inte körs om datorn har startat om 5/5 gånger. Det är detta jag inte får till. Följande har jag provat utan lycka. IF "%CO%" LEQ "%RE%" ( CLS SET /p CurrentCount=<%userprofile%\Downloads\count.txt SET /a NewCount=%CurrentCount%+1 ECHO Counting at %NewCount% ATTRIB -R -H %userprofile%\Downloads\count.txt >%userprofile%\Downloads\count.txt echo %newcount% ATTRIB +R +H %userprofile%\Downloads\count.txt PAUSE ) Vad jag är ute efter är att detta kodavsnitt ska hoppas över ifall %CO% är lika med eller större än %RE% Istället ska en annan if-sats köras (som jag ej skrivit ännu), som tar bort textfilerna samt batchfilen som ligger i autostart. Hur skriver man if-satsen korrekt för att den ska kunna hämta variablerna ur textfilerna och jämföra dessa? Bra att veta: Det är endast 1 siffra i textfilerna.

Viewing all articles
Browse latest Browse all 7756