win10格局法判断八字
生活随笔
收集整理的這篇文章主要介紹了
win10格局法判断八字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
@echo off
setlocal enabledelayedexpansion
echo 格局程序
echo.
echo 作者:phenix
echo.
echo 聯(lián)系方式:279682817@qq.com
echo.
:encode
rem 輸入四柱信息
set /p bazi=請輸入生辰八字(格式:庚子 丁亥 乙卯 乙酉):
echo.
call :decode !bazi!rem 解析四柱部分
:decode
rem 獲取行號
set rownum=
if exist %CD%\格局記錄.txt (
set rownum=0
for /f "tokens=*" %%z in (%CD%\格局記錄.txt) do (
set /a rownum+=1
)
set /a rownum=!rownum!/4+1
) else (
set rownum=1
)
echo.>>%CD%\格局記錄.txt
echo !rownum!.%1 %2 %3 %4>>%CD%\格局記錄.txt
rem 獲取年柱,月柱,日柱和時柱
set year=%1
set month=%2
set day=%3
set time=%4
rem 獲取年月日時干支
set niangan=!year:~0,1!
set nianzhi=!year:~1!
set yuegan=!month:~0,1!
set yuezhi=!month:~1!
set rigan=!day:~0,1!
set rizhi=!day:~1!
set shigan=!time:~0,1!
set shizhi=!time:~1!
rem 打印年月日時干支
echo 年干=!niangan! 年支=!nianzhi! 月干=!yuegan! 月支=!yuezhi! 日干=!rigan! 日支=!rizhi! 時干=!shigan! 時支=!shizhi!
echo.
rem 日主字典:格式:日主 比肩劫財食神傷官偏財正財七殺正官偏印正印 主氣中氣余氣地支
if not exist %temp%\rizhushishen.txt (
echo 甲 比肩:甲,劫財:乙,食神:丙,傷官:丁,偏財:戊,正財:己,七殺:庚,正官:辛,偏印:壬,正印:癸 主氣:寅;無;無,中氣:亥;無;無,余氣:無;無;無>%temp%\rizhushishen.txt
echo 乙 比肩:乙,劫財:甲,食神:丁,傷官:丙,偏財:己,正財:戊,七殺:辛,正官:庚,偏印:癸,正印:壬 主氣:卯;無;無,中氣:辰;無;無,余氣:未;無;無>>%temp%\rizhushishen.txt
echo 丙 比肩:丙,劫財:丁,食神:戊,傷官:己,偏財:庚,正財:辛,七殺:壬,正官:癸,偏印:甲,正印:乙 主氣:巳;無;無,中氣:寅;無;無,余氣:無;無;無>>%temp%\rizhushishen.txt
echo 丁 比肩:丁,劫財:丙,食神:己,傷官:戊,偏財:辛,正財:庚,七殺:癸,正官:壬,偏印:乙,正印:甲 主氣:午;無;無,中氣:未;無;無,余氣:戌;無;無>>%temp%\rizhushishen.txt
echo 戊 比肩:戊,劫財:己,食神:庚,傷官:辛,偏財:壬,正財:癸,七殺:甲,正官:乙,偏印:丙,正印:丁 主氣:辰;戌;無,中氣:無;無;無,余氣:寅;巳;申>>%temp%\rizhushishen.txt
echo 己 比肩:己,劫財:戊,食神:辛,傷官:庚,偏財:癸,正財:壬,七殺:乙,正官:甲,偏印:丁,正印:丙 主氣:丑;未;無,中氣:午;無;無,余氣:無;無;無>>%temp%\rizhushishen.txt
echo 庚 比肩:庚,劫財:辛,食神:壬,傷官:癸,偏財:甲,正財:乙,七殺:丙,正官:丁,偏印:戊,正印:己 主氣:申;無;無,中氣:巳;無;無,余氣:無;無;無>>%temp%\rizhushishen.txt
echo 辛 比肩:辛,劫財:庚,食神:癸,傷官:壬,偏財:乙,正財:甲,七殺:丁,正官:丙,偏印:己,正印:戊 主氣:酉;無;無,中氣:戌;無;無,余氣:丑;無;無>>%temp%\rizhushishen.txt
echo 壬 比肩:壬,劫財:癸,食神:甲,傷官:乙,偏財:丙,正財:丁,七殺:戊,正官:己,偏印:庚,正印:辛 主氣:亥;無;無,中氣:申;無;無,余氣:無;無;無>>%temp%\rizhushishen.txt
echo 癸 比肩:癸,劫財:壬,食神:乙,傷官:甲,偏財:丁,正財:丙,七殺:己,正官:戊,偏印:辛,正印:庚 主氣:子;無;無,中氣:丑;無;無,余氣:辰;無;無>>%temp%\rizhushishen.txt
)
rem 年月時干十神、月令透干、本中余氣透干、本中余氣十神、月令本氣、月令本氣十神、格局十神、天干陰陽、月令氣
set nianganshishen=
set yueganshishen=
set shiganshishen=
set yuelingtougan=
set benqitougan=
set zhongqitougan=
set yuqitougan=
set benqishishen=
set zhongqishishen=
set yuqishishen=
set yuelingbenqi=
set yuelingbenqishishen=
set gejushishen=
set yinyang=
set yuelingqi=
set row=1
rem 解析日主字典
for /f "tokens=1,2,3*" %%a in (%temp%\rizhushishen.txt) do (
rem 日主、十神、日主在月令主中余氣
set rizhu=%%a
set shishen=%%b
set dizhiqi=%%c
rem 獲取日主信息
if !rigan! equ !rizhu! (
rem 判斷日主陰陽
set /a yinyang=!row!%%2
if !yinyang! equ 0 (
set yinyang=陰
) else (
set yinyang=陽
)
rem 解析十神
for /f "tokens=1,2,3,4,5,6,7,8,9,10* delims=," %%c in ("!shishen!") do (
rem 當(dāng)前日主十神
echo %%c>%temp%\dangqianrizhushishen.txt
echo %%d>>%temp%\dangqianrizhushishen.txt
echo %%e>>%temp%\dangqianrizhushishen.txt
echo %%f>>%temp%\dangqianrizhushishen.txt
echo %%g>>%temp%\dangqianrizhushishen.txt
echo %%h>>%temp%\dangqianrizhushishen.txt
echo %%i>>%temp%\dangqianrizhushishen.txt
echo %%j>>%temp%\dangqianrizhushishen.txt
echo %%k>>%temp%\dangqianrizhushishen.txt
echo %%l>>%temp%\dangqianrizhushishen.txt
rem 解析當(dāng)前日主十神字典
for /f "tokens=1,2* delims=:" %%m in (%temp%\dangqianrizhushishen.txt) do (
rem 十神和天干
set shishen=%%m
set tiangan=%%n
rem 判斷年月日干十神
if !niangan! equ !tiangan! (
set nianganshishen=!shishen!
)
if !yuegan! equ !tiangan! (
set yueganshishen=!shishen!
)
if !shigan! equ !tiangan! (
set shiganshishen=!shishen!
)
)
)
)
rem 分別判斷年月時透不透月令氣
if !niangan! equ !rizhu! (
for /f "tokens=1,2,3* delims=," %%o in ("!dizhiqi!") do (
rem 本中余氣
set benqi=%%o
set zhongqi=%%p
set yuqi=%%q
echo !benqi:~3!>%temp%\niancanggan.txt
echo !zhongqi:~3!>>%temp%\niancanggan.txt
echo !yuqi:~3!>>%temp%\niancanggan.txt
set index=1
rem 本中余氣內(nèi)部解析
for /f "tokens=1,2,3* delims=;" %%r in (%temp%\niancanggan.txt) do (
echo %%r>%temp%\dangqiancanggan.txt
echo %%s>>%temp%\dangqiancanggan.txt
echo %%t>>%temp%\dangqiancanggan.txt
for /f "tokens=*" %%u in (%temp%\dangqiancanggan.txt) do (
rem 判斷月支,并記錄透的是本中余氣和序號
if "%%u" equ "!yuezhi!" (
if !index! equ 1 (
set benqitougan=本氣:!niangan!
set yuelingqi=!yuelingqi!!index!
)
if !index! equ 2 (
set zhongqitougan=中氣:!niangan!
set yuelingqi=!yuelingqi!!index!
)
if !index! equ 3 (
set yuqitougan=余氣:!niangan!
set yuelingqi=!yuelingqi!!index!
)
)
)
set /a index+=1
)
)
)
if !yuegan! equ !rizhu! (
for /f "tokens=1,2,3* delims=," %%o in ("!dizhiqi!") do (
set benqi=%%o
set zhongqi=%%p
set yuqi=%%q
echo !benqi:~3!>%temp%\yuecanggan.txt
echo !zhongqi:~3!>>%temp%\yuecanggan.txt
echo !yuqi:~3!>>%temp%\yuecanggan.txt
set index=1
for /f "tokens=1,2,3* delims=;" %%r in (%temp%\yuecanggan.txt) do (
echo %%r>%temp%\dangqiancanggan.txt
echo %%s>>%temp%\dangqiancanggan.txt
echo %%t>>%temp%\dangqiancanggan.txt
for /f "tokens=*" %%u in (%temp%\dangqiancanggan.txt) do (
if "%%u" equ "!yuezhi!" (
if !index! equ 1 (
set benqitougan=本氣:!yuegan!
set yuelingqi=!yuelingqi!!index!
)
if !index! equ 2 (
set zhongqitougan=中氣:!yuegan!
set yuelingqi=!yuelingqi!!index!
)
if !index! equ 3 (
set yuqitougan=余氣:!yuegan!
set yuelingqi=!yuelingqi!!index!
)
)
)
set /a index+=1
)
)
)
if !shigan! equ !rizhu! (
for /f "tokens=1,2,3* delims=," %%o in ("!dizhiqi!") do (
set benqi=%%o
set zhongqi=%%p
set yuqi=%%q
echo !benqi:~3!>%temp%\shicanggan.txt
echo !zhongqi:~3!>>%temp%\shicanggan.txt
echo !yuqi:~3!>>%temp%\shicanggan.txt
set index=1
for /f "tokens=1,2,3* delims=;" %%r in (%temp%\shicanggan.txt) do (
echo %%r>%temp%\dangqiancanggan.txt
echo %%s>>%temp%\dangqiancanggan.txt
echo %%t>>%temp%\dangqiancanggan.txt
for /f "tokens=*" %%u in (%temp%\dangqiancanggan.txt) do (
if "%%u" equ "!yuezhi!" (
if !index! equ 1 (
set benqitougan=本氣:!shigan!
set yuelingqi=!yuelingqi!!index!
)
if !index! equ 2 (
set zhongqitougan=中氣:!shigan!
set yuelingqi=!yuelingqi!!index!
)
if !index! equ 3 (
set yuqitougan=余氣:!shigan!
set yuelingqi=!yuelingqi!!index!
)
)
)
set /a index+=1
)
)
)
set /a row+=1
)
rem 獲取月令本中余氣十神
for /f "tokens=1,2* delims=:" %%a in (%temp%\dangqianrizhushishen.txt) do (
set shishen=%%a
set tiangan=%%b
if not "!benqitougan!" equ "" (
if !benqitougan:~3! equ !tiangan! (
set benqishishen=!shishen!
)
)
if not "!zhongqitougan!" equ "" (
if !zhongqitougan:~3! equ !tiangan! (
set zhongqishishen=!shishen!
)
)
if not "!yuqitougan!" equ "" (
if !yuqitougan:~3! equ !tiangan! (
set yuqishishen=!shishen!
)
)
)
echo 年干透出!nianganshishen! 月干透出!yueganshishen! 時干透出!shiganshishen!
echo.
echo.>>%CD%\格局記錄.txt
echo 年干透出!nianganshishen! 月干透出!yueganshishen! 時干透出!shiganshishen!>>%CD%\格局記錄.txt
if not "!yuelingqi!" equ "" (
rem 設(shè)置非比劫格局十神
if not "!benqishishen!" equ "" (
if not "!benqishishen!" equ "劫財" (
if not "!benqishishen!" equ "比肩" (
set gejushishen=!benqishishen!
)
)
)
if "!gejushishen!" equ "" (
if not "!zhongqishishen!" equ "" (
if not "!zhongqishishen!" equ "劫財" (
if not "!zhongqishishen!" equ "比肩" (
set gejushishen=!zhongqishishen!
)
)
)
)
if "!gejushishen!" equ "" (
if not "!yuqishishen!" equ "" (
if not "!yuqishishen!" equ "劫財" (
if not "!yuqishishen!" equ "比肩" (
set gejushishen=!yuqishishen!
)
)
)
)
rem 藏干為一個時比肩劫財,獲取比肩還是劫財
if "!gejushishen!" equ "" (
set idx=!yuelingqi:~0,1!
if !idx! equ 1 (
set gejushishen=!benqishishen!
)
if !idx! equ 2 (
set gejushishen=!zhongqishishen!
)
if !idx! equ 3 (
set gejushishen=!yuqishishen!
)
)
rem 比劫格局處理
if "!gejushishen!" equ "劫財" (
if "!yinyang!" equ "陽" (
set gejushishen=陽刃
) else (
set gejushishen=月劫
)
)
if "!gejushishen!" equ "比肩" (
set gejushishen=建祿
)
echo 月令透干:!benqitougan!!benqishishen!!zhongqitougan!!zhongqishishen!!yuqitougan!!yuqishishen!
echo.
echo 格局:!gejushishen!格
echo.
echo.>>%CD%\格局記錄.txt
echo 月令透干:!benqitougan!!benqishishen!!zhongqitougan!!zhongqishishen!!yuqitougan!!yuqishishen!>>%CD%\格局記錄.txt
echo.>>%CD%\格局記錄.txt
echo 格局:!gejushishen!格>>%CD%\格局記錄.txt
) else (
rem 不透月令氣,取月令本氣
for /f "tokens=*" %%a in ('findstr 主氣:.*!yuezhi!.*中氣.* %temp%\rizhushishen.txt') do (
set yuelingbenqi=%%a
set yuelingbenqi=!yuelingbenqi:~0,1!
for /f "tokens=1,2* delims=:" %%b in (%temp%\dangqianrizhushishen.txt) do (
set shishen=%%b
set tiangan=%%c
rem 處理比劫
if "!yuelingbenqi!" equ "!tiangan!" (
set yuelingbenqishishen=!shishen!
if "!yuelingbenqishishen!" equ "劫財" (
if "!yinyang!" equ "陽" (
set gejushishen=陽刃
) else (
set gejushishen=月劫
)
) else (
if "!yuelingbenqishishen!" equ "比肩" (
set gejushishen=建祿
) else (
set gejushishen=!yuelingbenqishishen!
)
)
)
)
)
echo 月令不透干
echo.
echo 格局:取月令本氣!yuelingbenqi!,!gejushishen!格
echo.
echo.>>%CD%\格局記錄.txt
echo 月令不透干>>%CD%\格局記錄.txt
echo.>>%CD%\格局記錄.txt
echo 格局:取月令本氣!yuelingbenqi!,!gejushishen!格>>%CD%\格局記錄.txt
)
echo 子平格局案例:http://www.360doc.cn/mip/295175076.html,點"展開剩余內(nèi)容"看全文。
echo.
goto :encode
使用方法:文本編輯器保存為,八字格局.bat,雙擊運行
總結(jié)
以上是生活随笔為你收集整理的win10格局法判断八字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ie浏览器中图片被拉长
- 下一篇: vue开发项目微信公众号授权支付开发