Batch file 从GVim调用批处理文件
我制作了一个简单的批处理文件来评估传递的命令行参数。该文件如下所示:Batch file 从GVim调用批处理文件,batch-file,vim,Batch File,Vim,我制作了一个简单的批处理文件来评估传递的命令行参数。该文件如下所示: :: cl-calc.bat @echo off set /a value=%* echo %value% 我把它放在我的C:\Windows\System32\中,所以当我使用命令行时,我会得到: C:\Users\me\Desktop>cl-calc 32*2 64 这太棒了。但是当我尝试从Vim调用它时(使用!cl calc 32*2),我得到了一个错误 “cl calc”不被识别为内部或外部命令、可操
:: cl-calc.bat
@echo off
set /a value=%*
echo %value%
我把它放在我的C:\Windows\System32\中,所以当我使用命令行时,我会得到:
C:\Users\me\Desktop>cl-calc 32*2
64
这太棒了。但是当我尝试从Vim调用它时(使用!cl calc 32*2),我得到了一个错误
“cl calc”不被识别为内部或外部命令、可操作程序或批处理文件
所以我尝试了其他一些方法,比如:
!cl-calc.bat 2+2
!call cl-calc
let result = system( 'cl-calc 32*2' )
let result = system( 'call cl-calc 32*2' )
我甚至做过这样的事:
!cmd.exe
C:\Windows\System32>cl-calc 2+2
以及以上相关变体。所有这些都得到了与以前相同的错误。当我这样做的时候
C:\Windows\System32>dir /OD
它说上次修改的文件是在几天前修改的(确切地说是5天)。当我在常规命令行中执行此操作时,它会将我的文件显示为最近编辑的文件之一
发生了什么事?如何修复此问题?我的灵媒能力告诉我Gvim是一个32位程序,它正在查看SysWOW64文件夹,而不是System32。前者是32位,而后者是64位,这已经足够令人困惑了。是的,当他们在看SysWOW64的时候,告诉他们他们在看System32。你的灵力告诉你我如何解决这个问题吗?(除了在SysWOW64中放置一个副本之外,我的另一个猜测是将GVim重新安装为64位?(作为旁注,它在程序文件(x86)中)@DavisDude,您可以将脚本放在一些非系统目录中(
C:\Windows
可能可以工作),它位于您的%PATH%
中。可能使用您的GVim所在的目录,只需将其添加到系统设置中的%PATH%
变量中即可。@xaizek这会起作用,由于某些原因,我忘了它可以访问更多的路径。