Hoe plaats ik if exist en if not exist in 1 commando regel?

Status
Niet open voor verdere reacties.

Tijger81

Gebruiker
Lid geworden
2 jan 2010
Berichten
397
Ik wil dit commando uitvoeren, maar als ik dit in cmd plak dan gebeurt er niks. Het moet op 1 regel is dat mogelijk?
De commando voor en achter de & werken op zichzelf wel.

if exist C:\book rmdir /s /q C:\book >nul 2>&1 & if not exist C:\book mkdir C:\book >nul 2>&1
 
Je moet dan met haakjes werken. Dit is de syntax:
IF EXIST "C:\Book" (Echo Bestaat) ELSE (Echo Bestaat niet)
 
Laatst bewerkt:
Hallo Edmoor,

Dank je voor je hulp. Het was nu gelukt. Nu heb ik een vraag. In de onderstaande code wordt gekeken of een map leeg is en dan wordt in de windows map een txt aangemaakt en gekopieerd naar een netwerkschijf de H, zodat ik vanaf het netwerk kan kijken of een lokale map leeg is.
Vanuit een batch werkt dit commando prima, maar ik moet deze gehele code verwerken in 1 regel. Ik heb het geprobeerd met & enzo, maar dan krijg ik foutmeldingen. Het moet dus uiteindelijk 1 lange zin worden. Kun jij mij op weg helpen?

@echo off

for /F %%i in ('dir /b "c:\book\*.*"') do (
md C:\Windows\Script
Copy nul C:\Windows\Script\book_VOL_%computername%.txt
Copy C:\Windows\Script\book_VOL_%computername%.txt H:\controle
exit

goto :EOF
)

md C:\Windows\Script
Copy nul C:\Windows\Script\book_LEEG_%computername%.txt
Copy C:\Windows\Script\book_LEEG_%computername%.txt H:\controle
 
Lastig dat het 1 regel moet worden als je wel met meerdere commando's werkt. Het kan echter wel als je inderdaad de afzonderlijke commando's van elkaar scheid met een & teken. Je zult er niet snel tegenaan lopen maar de maximum lengte van zo'n string is 8191 posities vanaf Windows XP, inclusief de & tekens en spaties.
Wat is de reden dat je het op 1 regel moet hebben?
 
Ik werk met een programma waarmee ik pc's kan aansturen. Ik heb de mogelijkheid om een commando van 1 regel te sturen naar de pc's waardoor er iets wordt uitgevoerd op de computers. Ik heb geprobeerd het geheel aan elkaar te plakken en de enters te vervangen door &, maar dat werk niet.
@echo off & for /F %%i in ('dir /b "c:\book\*.*"') do ( & md C:\Windows\Script & Copy nul C:\Windows\Script\book_VOL_%computername%.txt & Copy C:\Windows\Script\book_VOL_%computername%.txt H:\controle & exit & goto :EOF & ) & md C:\Windows\Script & Copy nul C:\Windows\Script\book_LEEG_%computername%.txt & Copy C:\Windows\Script\book_LEEG_%computername%.txt H:\controle
 
Dan klopt er toch iets niet in de syntax.
Waarom zet je op de betreffende PC's niet een batch file neer die doet wat er moet gebeuren?
Die kun je dan makkelijk met 1 regel opstarten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan