Windows batch IF & ELSE... hjälp tack!

Trädvy Permalänk
Medlem
Registrerad
Jan 2010

Windows batch IF & ELSE... hjälp tack!

Mappstruktur med filer...

Mappen test och en submap med namn test
I submappen finns test.txt
i dir mappen finns text1.txt och text2.txt

Problemet är att programmet hittar till test.txt men ifall jag tar bort den ska den hitta text1 men den hittar den inte för den låser sig till subkategorin.
Fråga 1 : Hur går jag tillväga för att få scriptet att förstå att det ska tillbaka till dir mappen när den ska starta text1.txt?
Fråga 2 : När jag är klar med det och låt säga att text1.txt inte finns hur skriver jag då för att text2.txt ska startas?

Detta är vad jag har fått till.
Google vill inte hjälpa mig eller så söker jag fel...

CD ..\test\test IF EXIST test.txt. ( start test.txt. ) ELSE text1.txt. ( start text1.txt. ) ELSE text2.txt ( start text2.txt. ) pause

Skulle bara djupt tacksamm ifall man kunde få hjälp med detta!

|-I7 5820K @4GHZ | Samsung SSD 850 PRO 512 GB | Corsair SSD 60 GB | | OCZ Vector 4 SSD 256 GB | Seagate SSHD 2TB | 1x HDD 1TB | Nvidia GTX 980 OC 4GB VRAM |Corsair DDR4 2400mhz 16GB | Corsair H90i | OCZ 1000w GOLD | Asus Rampage V Extreme Intel X99 | Thermaltake Level 10 GT Svart l

Trädvy Permalänk
Medlem
Registrerad
Apr 2002
Skrivet av klotim:

Mappstruktur med filer...

Mappen test och en submap med namn test
I submappen finns test.txt
i dir mappen finns text1.txt och text2.txt

Problemet är att programmet hittar till test.txt men ifall jag tar bort den ska den hitta text1 men den hittar den inte för den låser sig till subkategorin.
Fråga 1 : Hur går jag tillväga för att få scriptet att förstå att det ska tillbaka till dir mappen när den ska starta text1.txt?
Fråga 2 : När jag är klar med det och låt säga att text1.txt inte finns hur skriver jag då för att text2.txt ska startas?

Detta är vad jag har fått till.
Google vill inte hjälpa mig eller så söker jag fel...

CD ..\test\test IF EXIST test.txt. ( start test.txt. ) ELSE text1.txt. ( start text1.txt. ) ELSE text2.txt ( start text2.txt. ) pause

Skulle bara djupt tacksamm ifall man kunde få hjälp med detta!

Kanske något i stil med

cd path\to\base\dir IF EXIST test\test.txt ( start test\test.txt ) ELSE IF EXIST text1.txt ( start text1.txt. ) ELSE IF EXIST text2.txt ( start text2.txt ) pause

Men sedan kan man ju ifrågasätta om det är så kul med batchfiler rent allmänt.

Powershell kanske vore trevligare, iaf om det ska bli något mer avancerat i slutänden?

Intel i7 6850k || Asus X99-A II || Evga GTX 980Ti || Kingston HyperX Fury 2666 64GB || Samsung 950 Pro 512GB || XB270HU 1440p IPS G-Sync

Trädvy Permalänk
Medlem
Registrerad
Jan 2010
Skrivet av evil penguin:

Kanske något i stil med

cd path\to\base\dir IF EXIST test\test.txt ( start test\test.txt ) ELSE IF EXIST text1.txt ( start text1.txt. ) ELSE IF EXIST text2.txt ( start text2.txt ) pause

Men sedan kan man ju ifrågasätta om det är så kul med batchfiler rent allmänt.

Powershell kanske vore trevligare, iaf om det ska bli något mer avancerat i slutänden?

Det funkade! Tack !
Haha jadu, jag gör detta av rent nöje då jag inte har så mycket att göra för tillfället så varför inte lära sig lite batch osv? haha!

|-I7 5820K @4GHZ | Samsung SSD 850 PRO 512 GB | Corsair SSD 60 GB | | OCZ Vector 4 SSD 256 GB | Seagate SSHD 2TB | 1x HDD 1TB | Nvidia GTX 980 OC 4GB VRAM |Corsair DDR4 2400mhz 16GB | Corsair H90i | OCZ 1000w GOLD | Asus Rampage V Extreme Intel X99 | Thermaltake Level 10 GT Svart l

Trädvy Permalänk
Medlem
Plats
Örebro
Registrerad
Sep 2007

Hej

Tror detta är lämpligast i powershell jag
Om du vill testa ifall katalogen finns kan du göra följande och repetera tills filen den existerar

$Source = 'Path' $File = '*.txt' $SourceTest = Test-Path ($source+$File) if ($SourceTest -eq $false) { do {$source = Read-Host ‘Hittar ingen .txt fil i $Source’ $SourceTest = Test-Path ($source+$File) } until ($SourceTest -eq $true) }

Det du kan göra, kanske inte så snyggt är att göra flera IF statser tex IF ($Source -eq $True) {Gör detta osv...}

Kamera: D800
Optik:Nikkor 24-70mm f/2.8, Nikkor 70-200 f/2.8 VR, Sigma 50mm f/1.4, 500m f/4 VR