Batchfile:
1
2
| for /f "tokens=1 delims=\" %%a in ("%1") do set drive=%%a ECHO %drive% |
Hiermee laat ik de driveletter zien (bla.bat Z:\ bijv. laat "Z:" zien).
Vervolgens doe ik dit:
Batchfile:
1
2
| %drive% CD \ |
Hiermee ga ik dus naar de root van Z:.
Het probleem is echter dat ik soms de melding "The parameter is incorrect" krijg. Opzich geen ramp, dit zou ik allemaal moeten kunnen opvangen, maar het probleem hiermee is dat ik het niet voor elkaar krijg!
code:
1
2
3
4
5
6
7
| C:\Index>FOR /F "tokens=1" %q in ('Z:') do ECHO %q %r %s
The parameter is incorrect.
C:\Index>ECHO
ECHO is on.
C:\Index>CD \ |
Dit FOR-commando zou elk apart woord in de variabele %q moeten zetten (dit is de output, in de batchfile staat wel gewoon %%q zoals het hoort) en door middel van "ECHO %q" zou ik deze dus moeten kunnen zien.
Ik krijg echter, zoals je kunt zien "ECHO ", wat dus betekent dat %q geen waarde heeft.
Hoe komt dit? Hoe kan ik op een nette manier kijken of het commando "Z:" wel lukt? Het probleem is namelijk dat ik een lijst maak van bestanden en als het switchen naar de directory Z: niet lukt, krijg ik een lijst van alle bestanden op C:, daar heb ik natuurlijk niks aan.
Ik heb het ook al geprobeerd met de > operator en dan vervolgens met een FOR het bestand uitlezen, maar de > operator werkt niet als ik dit doe:
%drive% > bla.txt
Hierna is bla.txt gewoon leeg, maar ik krijg wel "The parameter is incorrect." te zien. Het wordt dus wel uitgevoerd, maar de file wordt niet gevuld.
PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?