gpt4 book ai didi

eclipse - *.bat 从 Eclipse 打开的文件在错误的目录中打开

转载 作者:行者123 更新时间:2023-12-02 15:30:29 24 4
gpt4 key购买 nike

我对脚本编写完全陌生,但我厌倦了手动编译 Android 原生代码,因此我编写了一个小 .sh 脚本和 .bat 文件来在 cygwin 中运行此脚本。这两个文件都放置在项目的根目录中,在 .sh 文件中设置 NDK 目录,然后通过运行 .bat 文件编译我的 native 代码。

问题是我想动态执行此操作,因此我使用 %CD% 获取当前目录(应该是项目文件夹)并启动该目录中的 .sh 文件。

这是两个文件:

.bat:

@echo off

::Used to surpess a warning about dos directory format.
set CYGWIN=nodosfilewarning

C:\cygwin\bin\bash --login -i %CD%\./compile.sh

pause

.sh:

#!/bin/bash

#Run this script through compileNative.bat This will compile the native code of this Project
#IF this file is changed under windows use "tr -d '\r' < edited.sh > final.sh " to remove the bad line endings.
#Keep both this and the .bat file in the project root.
# Set this to the base NDKDir
NDKDIR=C:/Android/NDK/


#Get the base dir so we can change the directory to the base dir.
BASEDIR=`dirname $0`

echo
echo Compiling Native code. Refresh Workspace after this is done!
echo
#Change to the directory of the project, change this is if the project movies.
cd $BASEDIR

#Run the ndk build file. Change this to the correct location.
$NDKDIR./ndk-build

当我从 Windows 中的文件夹中打开 .bat 文件时,它运行得很好。当我从 Eclipse 运行它时,%CD% 似乎给了我“C:/Eclipse”。更让我恼火的是,它运行了一整个上午,但突然它开始这样做。

所以我的问题是,我是否以错误的方式使用 %CD% 或者为什么会发生这种情况。显然这不是一部大戏。但这是一个有点烦人的问题,我似乎无法弄清楚。

一些帮助会很棒。

最佳答案

将这些命令插入批处理文件顶部:

%~d0
cd %~p0

第一个命令将当前驱动器更改为从 %0 参数中提取的驱动器;

第二个将当前目录更改为从 %0 参数中提取的路径。

关于eclipse - *.bat 从 Eclipse 打开的文件在错误的目录中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3404773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com