当我双击 .xise 类型的文件时,我需要我的系统执行以下操作:
C:\Xilinx\14.5\ISE_DS\settings32.bat C:\Xilinx\14.5\ISE_DS\ISE\bin\nt\ise.exe PATH\TO\XISE\FILE\filename.xise
当我将其默认行为设置为使用“settings32.bat”文件打开(通过右键单击>属性>打开方式:>更改)时,我很确定它不包含必要的“ise.exe”文件(.bat 文件的第一个参数)。
但是,映射到同一目录中的 settings64.bat 的默认设置工作正常,我不知道安装程序做了什么来正确映射它。(嗯,x64 版本不能“工作”。它有缺陷并且损坏,但由于不同的原因,因此希望使用 32 位版本。)
“settings64.bat”文件中没有任何内容不在“settings32.bat”文件中(只有几个地方将 64 更改为 32),因此“settings64.bat”文件并非不需要“ise.exe”文件;它确实需要它,但我只是不知道如何正确插入它。
我已经到处搜索了,但似乎无法弄清楚要搜索什么才能解决这个问题。
谢谢
答案1
正如您所说:“...但由于不同的原因,因此希望使用 32 位版本”。
- 如何找出
.xise
文件的默认操作:
从批处理脚本:
assoc .xise
for /F "tokens=2 delims==" %%G in ('assoc .xise') do (
for /f "tokens=*" %%I in ('ftype %%G') do echo %%I
)
或者,从命令行运行 for
命令:
for /F "tokens=2 delims==" %G in ('assoc .xise') do for /f "tokens=*" %I in ('ftype %G') do echo %I
- 如何重新设置
.xise
文件的默认操作
(来自批处理脚本,需要以管理员身份运行):
:: 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\14.5\ISE_DS\settings32.bat"
set "bat1stPar=C:\Xilinx\14.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%
换句话说:现在您的.xise
文件的默认操作应该如下所示(全部在唯一一行中):
C:\Windows\SysWOW64\cmd.exe /D /C 调用“C:\Xilinx\14.5\ISE_DS\settings32.bat” “C:\Xilinx\14.5\ISE_DS\ISE\bin\nt\ise.exe” “%1” %*
双击后这里"%1"
就会展开。"PATH\TO\XISE\FILE\filename.xise"
%%*
那么最后一条命令怎么样ftype
?别担心:让它去吧或者把它擦掉,因为它总是会扩展为一个空字符串:)