Batch skapa vbs, ändrar texten helt. Hjälp!

Permalänk
Medlem

Batch skapa vbs, ändrar texten helt. Hjälp!

Tjena, det är så att jag försöker göra så att jag startar ett program för att sedan ställa in prioriteten efter att det har startat.

Batchen startar spelet, skapar vbs fil med kod i, och slutar med att vbs filen blir inkorrekt med fel kod. Finns det något sätt som gör att batch inte ändrar själva koden i det som den ska skapa till VBS?

Batch kod:

echo Const HIGH = 128 >> prio.vbs echo strComputer = "." >> prio.vbs echo Set objWMIService = GetObject("winmgmts:" _ >> prio.vbs echo & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") >> prio.vbs echo Set colProcesses = objWMIService.ExecQuery _ >> prio.vbs echo ("Select * from Win32_Process Where Name = 'fil.exe'") >> prio.vbs echo For Each objProcess in colProcesses >> prio.vbs echo objProcess.SetPriority(HIGH) >> prio.vbs echo Next >> prio.vbs

VBS orginal:

Const HIGH = 128 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'fil.exe'") For Each objProcess in colProcesses objProcess.SetPriority(HIGH) Next

VBS efter batch har skapat den :

Const HIGH = 128 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'fil.exe'") For Each objProcess in colProcesses objProcess.SetPriority(HIGH) Next

Hjälp tack!

Visa signatur

Stationär: RTX 3090 OC MSI TRIO X 24GB | Ryzen 9 5950X | G.Skill Trident Z NEO 3600mhz 32GB | Noctua NH-D15 Chromax | Corsair HX1000i | Asus Rog Strix X570-F Gaming | Samsung 980 PRO 2TB | Samsung 970 EVO 512 GB | Samsung 850 PRO 512 GB | Seagate SSHD 2TB | Be Quiet! Base Pro 900 Silver Rev.2

Jobbdator: MacBook Pro 16" i7 6C, 16GB ram DDR4, AMD Radeon Pro 5300M 4GB

Permalänk
Medlem
Skrivet av klotim:

Tjena, det är så att jag försöker göra så att jag startar ett program för att sedan ställa in prioriteten efter att det har startat.

Batchen startar spelet, skapar vbs fil med kod i, och slutar med att vbs filen blir inkorrekt med fel kod. Finns det något sätt som gör att batch inte ändrar själva koden i det som den ska skapa till VBS?

Batch kod:

echo Const HIGH = 128 >> prio.vbs echo strComputer = "." >> prio.vbs echo Set objWMIService = GetObject("winmgmts:" _ >> prio.vbs echo & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") >> prio.vbs echo Set colProcesses = objWMIService.ExecQuery _ >> prio.vbs echo ("Select * from Win32_Process Where Name = 'fil.exe'") >> prio.vbs echo For Each objProcess in colProcesses >> prio.vbs echo objProcess.SetPriority(HIGH) >> prio.vbs echo Next >> prio.vbs

VBS orginal:

Const HIGH = 128 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'fil.exe'") For Each objProcess in colProcesses objProcess.SetPriority(HIGH) Next

VBS efter batch har skapat den :

Const HIGH = 128 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'fil.exe'") For Each objProcess in colProcesses objProcess.SetPriority(HIGH) Next

Hjälp tack!

Ser ut som att problemet är att "&" behöver escape:as. Ändra till "^&" så borde det gå, tror jag...?

Visa signatur

AMD Ryzen9 5900X || Gigabyte X570 Ultra || RTX 3090 FE || Gskill Trident Z 3600 64GB || Samsung 950 Pro 512GB || Samsung 960 Pro 1024GB || XB270HU 1440p IPS G-Sync