Car*_*ssi 62 windows batch-file
我在执行bat文件时遇到问题.经过一段时间后,我得到"输入行太长"的错误.
bat文件的结构很简单.有一个主bat文件调用10个其他bat文件,负责更新我的系统模块的数据.在更新数据bat文件中,我的系统的命令(.cmd文件)有很多调用,负责通过某些计算更新数据.
关键是,当进程在Windows 2003 Server中运行时,它没问题.没有错误.
然后,当它升级到Windows 2008 Server时,我执行主bat文件,几个小时后我得到"输入行太长"错误.我甚至无法在该cmd窗口中手动执行更新的数据蝙蝠中包含的任何命令.但是,如果我关闭cmd窗口并打开一个新窗口,我可以无错误地执行命令.
有人有同样的问题吗?还是解决方案?
提前致谢.
Coo*_*ter 73
我在cmd窗口中执行构建脚本时遇到了同样的问题.大约13次后我得到了同样的错误.构建脚本必须确保运行vcvarsall.bat,以便每次都执行vcvarsall.bat.
vcvarsall.bat不够智能,只能添加东西,path
如果它们还没有,那么就会添加一堆重复的条目.
我的解决方案是添加一个if定义的检查环境变量,我知道这是由vcvarsall.bat设置的...
if not defined DevEnvDir (
call vcvarsall.bat
)
Run Code Online (Sandbox Code Playgroud)
每次运行后检查路径环境变量,看它是否在增长.如果是,并且有重复,你需要聪明地添加东西path
.有几种方法可以很聪明.
我意识到这已经很老了,但我遇到的另一个问题是在我打电话的命令末尾有一个"".我试图打电话
"C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\Tools ..\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe""
如果你注意到,我有两个"在行尾.这导致了我的问题(当我输入引号时,Notepad ++包括它).删除了,一切都很好.再次,可能不是你的问题,但如果有其他人来寻求信息,没有其他工作,检查这个.:)
有关于此主题的Windows知识库文章.他们没有提到Windows 2008服务器,但他们确实提到了其他版本操作系统之间的大小差异,因此2003和2008之间存在差异也就不足为奇了.
至于问题的解决方案,他们的一些建议包括:
- 修改需要长命令行的程序,以便它们使用包含参数信息的文件,然后在命令行中包含该文件的名称.
- 对文件夹和文件使用较短的名称.
- 减少文件夹树的深度.
如果你想看看他们还有什么要说的话,你可以阅读整篇文章,但那些看起来最适合你的建议.
这通常是由于路径较长而发生的。我通过将 Kafka 的基本路径从C:\Program Files<Kafka_path> 替换为C:\Kafka解决了这个问题
归档时间: |
|
查看次数: |
65041 次 |
最近记录: |