文件名、目录名或卷标语法不正确

Posted

技术标签:

【中文标题】文件名、目录名或卷标语法不正确【英文标题】:filename, directory name or volume label syntax is incorrect 【发布时间】:2016-03-08 14:49:44 【问题描述】:

当我在命令提示符下运行此 .bat 文件时,它会引发错误,即“”。

批处理文件包含--

nmake /nologo /f makefile /a
pause

makefile 包含以下内容:

# nmake makefile to build a sample ADK MAC compliant application 
# NOTE: EOSSDK is needed to resolve ADK Library references and header file includes  

VRXSDK = C:\eVoAps\SDK\1.2.0\VRXSDK
#VXEOS = C:\eVoAps\EOSSDK\2.1.4
ADK = C:\eVoAps\ADK
VSFSTOOL = C:\Program Files\VERIFONE\FST

VRXIncludes = $(VRXSDK)\include
ADKIncludes = $(ADK)\VRX\Include
EOSIncludes = $(EOSSDKNEW)\include\ssl2

IncDir = .\Source
SrcDir = .\Source
ObjDir = .\Objects
OutDir = .\Download

EOSObjects  = C:\eVoAps\SDK\1.2.0\EOSSDKNEW\lib
Includes = -I$(IncDir) -I$(VRXIncludes) -I$(EOSIncludes) -I$(ADKIncludes) -I$(SrcDir) 

# Compiler options 
# Ignoring warning 1295 - Deprecated declaration - give arg types
# Defiing _VRXEVO for Verix specific code in the sample.  
COptions = -vsoapp -g -p -armcc,"--diag_suppress 1295" -D _VRXEVO -DLOGAPI_ENABLE_DEBUG -DVFI_GUIPRT_IMPORT -DVFI_MAC_DLL_IMPORT -DVFI_IPC_DLL_IMPORT -DVFI_SYSINFO_DLL_IMPORT -DVFI_SYSBAR_DLL_IMPORT
LinkOptions = -vsoapp -g -p 

# NOTE: elog.o required to resolve references in the ADK libs.  Log lib requires STL
# LibVFIMac only needed to resolve sysShowDesktop()
# svc_net.o required for mac library....
Libs = $(ADK)\vrx\lib\libvfiguiprt.so \
    $(ADK)\vrx\lib\libvfiipc.so \
    $(ADK)\vrx\lib\liblog.so\
    $(ADK)\vrx\lib\libvfimac.so \
    $(VRXSDK)\lib\vxstl.so  \
    $(EOSSDKNEW)\lib\svc_net.o \
    $(EOSSDKNEW)\lib\elog.o 

AppObjects = $(ObjDir)\BossApp.o

$(OutDir)\BossApp.vsa.p7s : $(OutDir)\BossApp.vsa
    "$(VSFSTOOL)\FST" BossApp.fst

$(OutDir)\BossApp.vsa : $(AppObjects)
    $(VRXSDK)\bin\vrxcc $(AppObjects) $(Libs) -o $@
    $(VRXSDK)\bin\vrxhdr -s 128000 -h 128000 -l ELOG.LIB=N:/ELOG.LIB -l NET.LIB=N:/NET.LIB 
    $(OutDir)\BossApp.vsa

######  Compile #######
$(ObjDir)\BossApp.o : $(SrcDir)\BossApp.cpp
    $(VRXSDK)\bin\vrxcc -c $(Includes) $(COptions) -o $(ObjDir)\BossApp.o $(SrcDir)\BossApp.cpp

我无法弄清楚我在这里缺少什么。请帮助我。

【问题讨论】:

如果您希望我们帮助您,您需要描述您期望发生的事情以及代码的实际作用...... ...这是什么语言?不是批的。看起来好像有人试图为 Windows 编写 bash。是 PowerShell 吗? 这是生成文件。批处理文件包含-- nmake /nologo /f makefile /a pause 批处理文件工作正常,它调用nmake。在您的makefile 中是一个错误,但这与批处理文件完全无关。调试代码总是一个好主意,在错误周围放置一些 echo 语句 好的,你能告诉我这个错误是什么意思吗? 【参考方案1】:

这可能是只有极少数人的原因,但我从我机器上的任何 .BAT 文件(恰好是 Windows Server 2019)中收到此错误。在我的情况下,我收到了错误,因为我最近安装了ConEmu(控制台替换应用程序)并将其设置为集成模式(它替换了普通的 CMD 应用程序)并且无法正确启动 .BAT 文件。关闭 ConEmu 的集成模式后,我的 .BAT 文件又开始工作了。

【讨论】:

【参考方案2】:

这个程序不是用windows批处理写的。需要用windows批处理语言编写,由cmd.exe处理。

【讨论】:

批处理文件包含-- nmake /nologo /f makefile /a pause

以上是关于文件名、目录名或卷标语法不正确的主要内容,如果未能解决你的问题,请参考以下文章

命令提示符提示文件名,目录或卷标语法不正确怎么办

文件名,目录名或卷标语法不正确是啥原因

文件名,目录名或卷标语法不正确,错误代码:0x8007007B

创建UmiJS项目时报错--文件名目录名或卷标语法不正确

创建UmiJS项目时报错--文件名目录名或卷标语法不正确

win8文件名目录名或卷标语法不正确怎么办?