我制作了一个简单的批处理文件来评估传递的命令行参数。该文件看起来像这样:
:: 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-计算值'不被识别为内部或外部命令,可操作程序或批处理文件。
所以我尝试了一些其他的东西,比如:
!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)。当我在常规命令行中执行此操作时,它将我的文件显示为最近编辑过的文件之一。
那是怎么回事?我该如何解决这个问题?