
BAT腳本實現文件含身份證信息排錯重命名最后由 xp3000 于 -5-20 21:30
nclick="copycode($('code0'));">復制代碼
- @echo off
- for /f delims= %%a in ('more +6 %0') do (
- type nul>%%a
- )
- pause & exit /b
- :需要生成的文件在下面:
- 北京市 張三·000000000000000000000000000000000000000000.jpg
- 張三1719700515841131011719700229841131014666432·上海市.png
- 張三欽州市 45070119830228326X76543248765457.jpg.jpg.jpg.jpg
- 自貢市·510300198002299628510300198002299628855張三.png.png
- 張三0000000000000431103197602286731000000000000·永州市.jpg
nclick="copycode($('code1'));">復制代碼
- @if(0)==(0) echo off&setlocal EnableDelayedExpansion
- @for /f delims= %%j in ('dir /b/a-d/on *.jpg *.png') do (
- @for /f delims= %%k in ('echo %%~nj^|cscript -nologo -e:jscript %~f0') do (
- del /f /s /q 身份證信息錯誤的文件.txt>nul 2>nul
- if %%j neq %%k%%~xj (
- set str=%%k&set year=!str:~6,4!&set month=!str:~10,2!&set day=!str:~12,2!
- if 2!day! neq 229 (echo.身份證信息:%%k&echo.符合中華人民共和國第二代身份證號命名規則,即將重命名……
- ren %%j %%k%%~xj&echo.
- ) else (echo.檢查到身份證為2月29日,計算平年閏年……
- set /a y=^!(year%%4)&^!(^!(year%%100))|^!(year%%400)&set /a x=28+!y!
- if !day! equ !x! (
- echo.出生年為閏年:2月!x!天………………………
- echo.身份證信息:%%k&echo.符合中華人民共和國第二代身份證號命名規則,即將重命名……
- ren %%j %%k%%~xj&echo.
- ) else (
- echo,出生年為平年:2月!x!天………………………
- echo.身份證信息:%%k&echo.身份證信息錯誤,忽略重命名…………………&echo.
- echo.%%j>>身份證信息錯誤的文件.txt
- )
- )
- ) else (
- echo %%j :文件已忽略……&echo.
- )
- )
- )
- )
- pause & exit /b
- @end
- var objShell= new ActiveXObject('Shell.Application');
- while(!Wscript.StdIn.AtEndOfStream) {
- var strFile = Wscript.StdIn.ReadLine();
- var strFile = strFile.replace(/.*([1-9][0-9]{5}(19|20)[0-9]{2}(([0][13-9]|11|12)([0][1-9]|[12][0-9]|30)|([0][13578]|10|12)(31)|02([0][1-9]|1[0-9]|2[0-8]|29))[0-9]{3}[0-9X]).*/g, '$1');
- WSH.Echo(strFile);
- }

