我正在运行一个名为ACSLX的旧应用程序。它试图调用一个dos move命令,但是由于sh.exe在我的路径中,我得到一个错误。sh.exeGit的一部分,也是RTools的一部分,我已经安装了这两个。如您所见,它只是试图移动一个文件,但这是失败的。我怎样才能防止这种情况?这是我试图构建“spring”示例项目时acslx的控制台输出。

##### Build starting...

C:\acslX\ShSysTime.exe
Current System Time 15:05:02
"C:\acslX\atrans.exe" -lic_path "C:\acslX\license.lic;C:\acslX\*.lic" -no_xsl -no_compile -no_link "C:\acslX\Examples\MODELD~1\SPRING~1\SPRING~2\spring.csl"
ACSL Translator
Copyright 2002-2015, AEgis Technologies Group, Inc.
All rights reserved.
--------------------------------------------------------
The license path is now: C:\acslX\license.lic;C:\acslX\*.lic
INFO: TRANSLATOR: Starting Translation...
INFO: ANALYZER: Sorting sections using DFS algorithm.
INFO: ANALYZER: Sorting performed in 0.001000 seconds.
INFO:  Translator completed successfully
===================================

move "C:\acslX\Examples\MODELD~1\SPRING~1\SPRING~2\spring.xml" ".\spring.ail"
/Rtools/bin/sh: move: command not found
C:\acslX\mingw32\bin\make.exe: *** [spring.ail] Error 127
##### Build failed.

最佳答案

另一个选择是准备一点.bat,随时可以根据需要设置路径:
称之为senv.bat,并将其放入当前的%path%
其中:

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set PATH=C:\acslX;%PATH%
... other PATHs you might need

不要在其中添加github路径或r路径以避免任何冲突。
在任何需要执行ACSLX会话的CMD中,键入“senv”:该会话将有一个简化的路径,其中只包含您需要的内容。
不需要重命名任何内容。
在会话之外,您通常的当前路径保持不变。
OP补充道:
,我不在命令行中工作,我在acslx gui中工作,我想我不能修改它在后台运行的脚本。
我回答说:acslx gui是用正确的路径启动的。
这就是OP's answer implements的原因。

08-27 11:02