Passar Variável no CMD


1

Eu configurei um script e testei que ele funciona com a entrada do usuário, set /pmas agora eu quero passar essa variável automaticamente para o cmd.

Script com entrada do usuário:

@ECHO OFF

set /p id="Enter Rom: "

start /d "G:\Emulators\N64\Project64" Project64.exe "G:\Emulators\N64\Roms\%id%"

O que eu quero passar para o CLI:

C:\WINDOWS\system32>set id = "Goldeneye 007.v64" & "C:\script.cmd"

Então, um usuário executará o script e sempre inserirá o valor? Eu só quero ter certeza de que você precisa do valor da variável set do usuário para ser o que o resto do script em lote usa, correto?
Pimp Juice IT

Não, talvez eu devesse ter explicado mais, eu estou olhando para criar um cmd "universal" que eu possa passar o nome da ROM também antes de executar o CMD
FreeSoftwareServers

Eu só testei w / entrada do usuário, agora eu quero apenas tê-lo ser automatizado w / o entrada do usuário em tudo
FreeSoftwareServers

Ok, então você pode apenas fazer o script em lote aceitar um argumento em vez de defini-lo e usar essa variável como %~1.
Pimp Juice IT

Então você pode usar set id=%~1e depois passar o argumento para o lote como ..................................... ...............................C:\script.cmd "Goldeneye 007.v64"
Pimp Juice IT

Respostas:


1

Você pode usar argumentos em lote e passar o valor da ROM para a chamada do script em lotes ao executá-lo, como C:\script.cmd "<Value Argument>".

Em vez de usar o set /p id="Enter Rom: "uso set id=%~1e isso é tudo o que é necessário para permitir que o primeiro argumento passado ao script seja usado para o valor para definir a idvariável.

Exemplo de script em lote

@ECHO OFF

set id=%~1

start /d "G:\Emulators\N64\Project64" Project64.exe "G:\Emulators\N64\Roms\%id%"

Argumento passado ao exemplo de script em lote

C:\script.cmd "Goldeneye 007.v64"

Mais recursos


1
Isto é EXATAMENTE o que eu precisava, eu vou fazer um write-up se o seu interesse no "objetivo" final, é usar o Steam ROM Manager para inserir atalhos no vapor para lançar o emulador w / rom, mas também preciso lançar o xpadder mapear atalhos adicionais de keyboar.
FreeSoftwareServers
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.