Hoe stel je de uitvoer van commando's in als een variabele in een batchbestand
Is het mogelijk om een statement's output van een batch file in een variabele te zetten, bijvoorbeeld:
findstr testing > %VARIABLE%
echo %VARIABLE%
201
3
Ik gebruik altijd de USEBACKQ zodat als je een string moet invoegen of een lange bestandsnaam hebt, je dubbele aanhalingstekens kunt gebruiken zonder het commando te verknoeien.
Als je uitvoer meerdere regels zal bevatten, kan je dit doen
Ik vond [deze draad] (http://www.tomshardware.com/forum/230090-45-windows-batch-file-output-program-variable) op dat daar Interweb ding. Komt neer op:
Je kunt ook de uitvoer van een commando omleiden naar een tijdelijk bestand, en dan de inhoud van dat tijdelijke bestand in je variabele zetten, likeuchashereby:
Krediet aan de thread op Tom's Hardware.
Ik heb het zo getest en het werkte:
Door het commando in een variabele te pipen, zal prompt het resultaat van commando "
Cmd
" in de variabele "Var
" plaatsen.Update:
Het werkt niet, mijn fout, het script dat ik deed was dit:
Het toonde eigenlijk laten we zeggen "
test.txt
", maar het toonde in feite het resultaat van het "dir /b *.txt
" commando, niet hetecho %var%
. Ik raakte in de war omdat beide uitgangen hetzelfde waren.