Last active
August 29, 2015 13:56
-
-
Save neetsdkasu/8877998 to your computer and use it in GitHub Desktop.
srcディレクトリを探すバッチファイル (コマンドプロンプトを使ったJava開発に使う、Windows7)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
rem Javaなどでsrc以下の深いパッケージ名ディレクトリからsrcディレクトリまで飛ぶ | |
rem 現在パスにsrcディレクトリがあるならそこまで戻る | |
rem 現在パスからの上位階層のディレクトリ内にsrcディレクトリがある場合もsrcディレクトリに入る | |
rem 例1 | |
rem C:\develop\helloworld\src\mypackage\hoge\foo\bar>cdsrc.bat | |
rem C:\develop\helloworld\src> | |
rem 例2 | |
rem C:\develop\helloworld>cdsrc.bat | |
rem C:\develop\helloworld\src> | |
rem 例3 | |
rem C:\develop\helloworld\classes\mypackage\hoge\foo\bar>cdsrc.bat | |
rem C:\develop\helloworld\src> | |
rem 例4 | |
rem C:\develop>cdsrc.bat | |
rem Not found "src" dir! | |
rem C:\develop> | |
rem C:\develop>echo %ERRORLEVEL% | |
rem 1 | |
rem C:\develop> | |
if exist src goto label1 | |
if "%~1" == "" goto label2 | |
if "%~n1" == "src" goto label3 | |
if "%~1" == "%~d1\" goto label4 | |
cd .. | |
call "%~f0" "%cd%" "%~2" | |
goto endofbatch | |
:label1 | |
if not "%~1" == "" goto label1b | |
cd src | |
if ERRORLEVEL 1 goto label4x | |
goto endofbatch | |
:label1b | |
cd src | |
if ERRORLEVEL 1 goto label4 | |
goto endofbatch | |
:label2 | |
call "%~f0" "%cd%" "%cd%" | |
goto endofbatch | |
:label3 | |
cd "%~1" | |
if ERRORLEVEL 1 goto label4 | |
goto endofbatch | |
:label4 | |
echo Not found "src" dir! | |
cd "%~2" | |
exit /B 1 | |
goto endofbatch | |
:label4x | |
echo Not found "src" dir! | |
exit /B 1 | |
goto endofbatch | |
:endofbatch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
rem Javaなどでsrc以下の深いパッケージ名ディレクトリからsrcディレクトリまで飛ぶ | |
rem 現在パスにsrcディレクトリがあるならそこまで戻る | |
rem 現在パスからの上位階層のディレクトリ内にsrcディレクトリがある場合もsrcディレクトリに入る | |
rem 例1 | |
rem C:\develop\helloworld\src\mypackage\hoge\foo\bar>pushdsrc.bat | |
rem C:\develop\helloworld\src> | |
rem C:\develop\helloworld\src>popd | |
rem C:\develop\helloworld\src\mypackage\hoge\foo\bar> | |
rem 例2 | |
rem C:\develop\helloworld>pushdsrc.bat | |
rem C:\develop\helloworld\src> | |
rem C:\develop\helloworld\src>popd | |
rem C:\develop\helloworld> | |
rem 例3 | |
rem C:\develop\helloworld\classes\mypackage\hoge\foo\bar>pushdsrc.bat | |
rem C:\develop\helloworld\src> | |
rem C:\develop\helloworld\src>popd | |
rem C:\develop\helloworld\classes\mypackage\hoge\foo\bar> | |
rem 例4 | |
rem C:\develop>pushdsrc.bat | |
rem Not found "src" dir! | |
rem C:\develop> | |
rem C:\develop>echo %ERRORLEVEL% | |
rem 1 | |
rem C:\develop> | |
if exist src goto label1 | |
if "%~1" == "" goto label2 | |
if "%~n1" == "src" goto label3 | |
if "%~1" == "%~d1\" goto label4 | |
cd .. | |
call "%~f0" "%cd%" "%~2" | |
goto endofbatch | |
:label1 | |
if not "%~1" == "" goto label1b | |
pushd src | |
if ERRORLEVEL 1 goto label4x | |
goto endofbatch | |
:label1b | |
cd "%~2" | |
pushd "%~1\src" | |
if ERRORLEVEL 1 goto label4 | |
goto endofbatch | |
:label2 | |
call "%~f0" "%cd%" "%cd%" | |
goto endofbatch | |
:label3 | |
cd "%~2" | |
pushd "%~1" | |
if ERRORLEVEL 1 goto label4 | |
goto endofbatch | |
:label4 | |
echo Not found "src" dir! | |
cd "%~2" | |
exit /B 1 | |
goto endofbatch | |
:label4x | |
echo Not found "src" dir! | |
exit /B 1 | |
goto endofbatch | |
:endofbatch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
rem Javaなどでsrc以下の深いパッケージ名ディレクトリからsrcディレクトリのパスを表示 | |
rem 現在パスにsrcディレクトリがあるならそこまで戻る | |
rem 現在パスからの上位階層のディレクトリ内にsrcディレクトリがある場合もsrcディレクトリのパスを表示する | |
rem 例1 | |
rem C:\develop\helloworld\src\mypackage\hoge\foo\bar>srcdir.bat | |
rem C:\develop\helloworld\src | |
rem C:\develop\helloworld\src\mypackage\hoge\foo\bar> | |
rem 例3 | |
rem C:\develop\helloworld>srcdir.bat | |
rem C:\develop\helloworld\src | |
rem C:\develop\helloworld> | |
rem 例3 | |
rem C:\develop\helloworld\classes\mypackage\hoge\foo\bar>srcdir.bat | |
rem C:\develop\helloworld\src | |
rem C:\develop\helloworld\classes\mypackage\hoge\foo\bar> | |
rem 例4 | |
rem C:\develop>srcdir.bat | |
rem Not found "src" dir! | |
rem C:\develop>echo %ERRORLEVEL% | |
rem 1 | |
rem C:\develop> | |
if exist src goto label1 | |
if "%~1" == "" goto label2 | |
if "%~n1" == "src" goto label3 | |
if "%~1" == "%~d1\" goto label4 | |
cd .. | |
call "%~f0" "%cd%" "%~2" | |
goto endofbatch | |
:label1 | |
if not "%~1" == "" goto label1b | |
cd src | |
if ERRORLEVEL 1 goto label4x | |
echo %cd% | |
cd .. | |
goto endofbatch | |
:label1b | |
cd src | |
if ERRORLEVEL 1 goto label4 | |
echo %cd% | |
cd "%~2" | |
goto endofbatch | |
:label2 | |
call "%~f0" "%cd%" "%cd%" | |
goto endofbatch | |
:label3 | |
cd "%~1" | |
if ERRORLEVEL 1 goto label4 | |
cd "%~2" | |
echo %~1 | |
goto endofbatch | |
:label4 | |
echo Not found "src" dir! | |
cd "%~2" | |
exit /B 1 | |
goto endofbatch | |
:label4x | |
echo Not found "src" dir! | |
exit /B 1 | |
goto endofbatch | |
:endofbatch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment