Como você diz: "... mas por diferentes razões, portanto, o desejo de usar a versão de 32 bits".
- Como descobrir a ação padrão do arquivo
.xise
:
De um script em lote:
assoc .xise
for /F "tokens=2 delims==" %%G in ('assoc .xise') do (
for /f "tokens=*" %%I in ('ftype %%G') do echo %%I
)
Ou para executar o comando for
na linha de comando:
for /F "tokens=2 delims==" %G in ('assoc .xise') do for /f "tokens=*" %I in ('ftype %G') do echo %I
- Como restabelecer a ação padrão para seu arquivo
.xise
(de um script em lote, precisa ser executado como administrador):
:: discover the association between our file Extension and current file Type
set "xiseFileType=xiseFile"
for /F "tokens=2 delims==" %%G in ('assoc .xise') do set "xiseFileType=%%G"
:: set variables for better readability next 'ftype' command
set "batchToRun=C:\Xilinx.5\ISE_DS\settings32.bat"
set "bat1stPar=C:\Xilinx.5\ISE_DS\ISE\bin\nt\ise.exe"
:: define 'cmd.exe' full path:
:: default version (32-bit or 64-bit dependent on Windows version installed):
set "com32exe=%comspec%"
:: but we need (non-default) 32-bit version of command interpreter:
if exist "C:\Windows\SysWOW64\cmd.exe" set "com32exe=C:\Windows\SysWOW64\cmd.exe"
:: The FileType should always be created before making a File Association
ftype %xiseFileType%=%com32exe% /D /C call "%batchToRun%" "%bat1stPar%" "%%1" %%*
assoc .xise=%xiseFileType%
Em outras palavras: agora a ação padrão do seu arquivo .xise
deve ser a seguinte (tudo na única linha):
C:\Windows\SysWOW64\cmd.exe /D /C call "C:\Xilinx.5\ISE_DS\settings32.bat" "C:\Xilinx.5\ISE_DS\ISE\bin\nt\ise.exe" "%1" %*
Aqui "%1"
será expandido para o seu "PATH\TO\XISE\FILE\filename.xise"
quando clicado duas vezes.
E que tal %%*
no último comando ftype
? Nunca tema: deixe-o ou limpe-o, pois ele se expandirá para uma string vazia sempre :)