我希望能够在我的闪存驱动器上从Notepad++编译和运行C和C++代码(使用PortableApps.com)。我得到了MinGW并将它放在我的闪存驱动器上,我调整了This Guy 的NppExec脚本以使用闪存驱动器,它可以完美地工作,除非我并不总是知道我的闪存驱动器将获得什么驱动器号。
当我通过它%CD:~0,2%
时,它将它作为字符串而不是命令。所以命令:
cd %CD:~0,2%\MinGW\bin\
尝试完全按照书面说明。它不会尝试将 转换%CD:~0,2%
为驱动器号。因此,如果有人可以帮助我找出一种更好地获取驱动器号的方法,那就太好了。
此外,我不只是添加MinGW\bin\
到系统变量的原因是因为我学校的计算机有安全软件会阻止我这样做。而且我仍然需要驱动器号。
关于我的问题的原因,我的假设是NppExec不知道如何处理这些%
标志。因此,如果有人知道解决此问题的方法...?
这是完整的代码:
npp_save
cd %CD:~0,2%\MinGW\bin\
g++ "$(FULL_CURRENT_PATH)" -o $(NAME_PART) -march=native -O2
cmd /c move /Y $(NAME_PART).exe $(CURRENT_DIRECTORY)\$(NAME_PART).exe
NPP_RUN $(CURRENT_DIRECTORY)\$(NAME_PART).exe
输出显示NppExec清楚地忽略了我的更改目录命令。这是输出:
NPP_SAVE: G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.c
CD: %CD:~0,2%\MinGW\bin\
Current directory: G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA
g++ "G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.c" -o JesseM_Assign02_RPS_Game -march=native -O2
CreateProcess() failed with error code 2:
The system cannot find the file specified.
cmd /c move /Y JesseM_Assign02_RPS_Game.exe G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.exe
Process started >>>
The system cannot find the file specified.
<<< Process finished. (Exit code 1)
NPP_RUN: G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.exe
- the specified file was not found
================ READY ================