From bc995319384b9c120ab363d89a8c6a6a0baccb01 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Wed, 21 Mar 2018 20:58:40 +0800 Subject: [PATCH] update z.cmd --- z.cmd | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 z.cmd diff --git a/z.cmd b/z.cmd new file mode 100644 index 0000000..21daa2b --- /dev/null +++ b/z.cmd @@ -0,0 +1,74 @@ +@echo off +set "HomeDir=%~dp0" +set "PathSave=%PATH%" +set "LuaExe=lua" +set "LuaScript=%HomeDir%z.lua" +set "MatchRank=-n" +set "MatchTime=-n" +set "StrictSub=-n" +set "ListOnly=-n" +set "HelpMode=-n" + +if /i not "%_ZL_LUA_EXE%"=="" ( + set "LuaExe=%_ZL_LUA_EXE%" +) + + +:parse + +if /i "%1"=="-r" ( + set "MatchRank=-r" + shift /1 + goto parse +) + +if /i "%1"=="-t" ( + set "MatchTime=-t" + shift /1 + goto parse +) + +if /i "%1"=="-c" ( + set "StrictSub=-c" + shift /1 + goto parse +) + +if /i "%1"=="-l" ( + set "ListOnly=-l" + shift /1 + goto parse +) + +if /i "%1"=="-h" ( + call "%LuaExe%" "%LuaScript%" -h + shift /1 + goto end +) + +:check + +if /i "%1"=="" ( + set "ListOnly=-l" +) + +for /f "delims=" %%i in ('cd') do set "PWD=%%i" + +if /i "%ListOnly%"=="-n" ( + setlocal EnableDelayedExpansion + for /f "delims=" %%i in ('call "%LuaExe%" "%LuaScript%" --cd %MatchRank% %MatchTime% %StrictSub% %*') do set "NewPath=%%i" + if not "!NewPath!"=="" ( + if exist !NewPath!\nul ( + pushd !NewPath! + pushd !NewPath! + endlocal + popd + ) + ) +) else ( + call "%LuaExe%" "%LuaScript%" -l %MatchRank% %MatchTime% %StrictSub% %* +) + +:end + +