需要Windows .bat文件技术支持。 我在运行Win 7 bat文件时遇到问题,这些文件循环遍历令牌和变量。下面的脚本可以在我的妻子PC上运行,并且应该在所有PC上运行,但不适用于我的。
**我在MacWare上运行Windows 7中的Windows 7。
该文件位于c:
的根目录这个简短的小脚本,以及任何其他类似令牌的脚本都会给我带来错误(我将以下脚本复制到.bat文件中):
setLocal ENABLEDELAYEDEXPANSION
set SCHEMA_one= first
set SCHEMA_two= second
set SCHEMA_three= third
@ECHO ON
FOR /F "tokens=2* delims=_=" %%A IN ('set SCHEMA_') DO (
echo "looping through " %%A
)
endLocal
我收到以下错误:
C:\>FOR /F "tokens=2* delims=_=" %A IN ('set SCHEMA_') DO (echo "looping through " %A )
'set SCHEMA_' is not recognized as an internal or external command, operable program or batch file.
思想???
非常感谢提前。我被困了几个小时......
答案 0 :(得分:0)
您可能需要查看for /?
,特别是使用usebackq
。这可以改变你设置的解释。
此外,我也总是在enableextensions
命令中使用setlocal
,以确保环境设置完全,因为我需要。
另一件事是对批处理文件进行十六进制转储,以确保set
和SCHEMA
之间的字符实际上是一个空格。如果它是一个不同的角色,那么cmd
可能会将set.SCHEMA
(.
就是那个有趣的角色)视为一个命令。
答案 1 :(得分:0)
编辑 - 我找不到答案..完成用户错误..
在某些时候,COMSPEC环境变量路径发生了变化,错误也是如此!有拼写错!!! :/太蹩脚了。
在比较我的新环境和旧环境之间的env变量时,我终于注意到了错字。男人,一个角色花了我几个小时。我之前没有意识到(虽然现在很明显)这是用于bat命令的路径,或者我会给它更多的scruteny。不知道它为什么会起作用(???)
===== 好吧,我对修复不满意 - 因为它是一把大锤子。但是我安装了一个新的Windows 7 VM,现在我可以运行该脚本了。 早些时候停止了较新版本的vm-3.1.4(从我的3.1.2最新的免费升级)并没有解决问题。 在此之前我尝试了上面提到的事情(非常感谢上面发布的人!)
不确定我的Windows安装程序是什么搞砸了,但这是......我与其他计算机进行了比较,我的环境看起来都很好。 Java是好的,等等。关于该VM上的用户帐户,还是......?不确定。没时间了,不得不继续前进。 :)
如果我弄清楚,我会发布答案。与此同时,我将设置并希望在这个新VM上工作。
喝彩! 达斯汀