Hunter的大杂烩 技术学习笔记

2024-12-02

window bat批处理编程技巧

Filed under: 技术话题 — hunter @ 9:38 pm
  1. for 循环中使用管道符,要加 ^ 符号,例如:
    • for /f “delims=” %%a in (‘dir /b^|findstr /l “.avi .mp4 .mkv”‘)
    • for /f “delims=” %%a in (‘certutil -hashfile “%%i” md5 ^| findstr /X “[a-z0-9]*”‘)
  2. 使用双重for来提取字符串或合并打印输出,如:
    • for /f “delims=” %%i in (‘dir/s/b *.mp3 *.m4a’) do ( for /f “delims=” %%a in (‘certutil -hashfile “%%i” md5 ^| findstr /X “[a-z0-9]*”‘) do ( echo %%a %%i ) )
  3. 如果使用for循环处理文件的内容,以双引号隔断,则for参数去掉双引号,参数间使用 ^ 符号连接,比如:
    • for /f tokens^=^1^,2^ delims^=^” %%b in (“%%L”) do (
  4. for 中 usebackq用途为指明后续 () 中参数为文件名,比如
    • for /f “usebackq” %%a in (“C:\Documents and Settings\Administrator\桌面\note.txt”) 可读取文件note.txt
    • for /f “delims=” %%a in (“C:\Documents and Settings\Administrator\桌面\note.txt”) ,则把()中当作是字符串处理
  5. if 的字符串不等于使用方法 if not str1 == str2,比如
    • if not !last_key! == %%b () …

2024-10-10

常用正则(持续更新)

Filed under: 技术话题 — hunter @ 12:19 am
  1. 去掉html里面的标签: [<]([^<>]+)[>]

2024-09-24

水质不同单位换算

Filed under: 技术话题 — hunter @ 11:53 pm

TDS ÷ 17.847 = DH

DH ÷ 5.61 = mmol/L

比如

TDS=340

则 DH = 19 mmol/L=3.39

参考: https://www.zhihu.com/tardis/zm/art/415388318?source_id=1005

http://up1.goepe.com/js/fujian/1320371337.pdf

https://zh.wikipedia.org/wiki/%E6%B0%B4%E8%B4%A8%E7%A1%AC%E5%BA%A6

2024-07-23

windows cmd命令行下批量变更文件名

Filed under: 技术话题 — hunter @ 11:36 pm

批处理中变量含义参考:https://blog.csdn.net/albertsh/article/details/102985590

call命令使用参考https://www.hxstrive.com/subject/windows_bat.htm?id=78

返回值处理参考:https://blog.csdn.net/linux__kernel/article/details/7055267

@echo off
setlocal enableDelayedExpansion

2024-07-15

常用DOS批处理

Filed under: 技术话题 — hunter @ 11:28 pm

setlocal enabledelaydexpansion

delayedexpansion 说明见:https://blog.csdn.net/rhcgrys/article/details/124283862

  1. 批量for循环转码文件(或修改文件后缀)

for /f “delims=” %%a in (‘dir /b^|findstr /l “.avi .mp4 .mkv”‘) do (
if not exist “%%~na.mpeg” (
ffmpeg -i “%%~a” -c:v mpeg2_qsv -qscale 8 -c:a mp3 -vf subtitles=”filename=%%~na.srt:charenc=GBK” “%%~na.mpeg”
)
)

注:修改for命令,可同时处理多种视频文件转码mpeg

2. 获取所有系统服务详细信息,比如提取系统服务执行文件路径

@for /f “tokens=1,2 delims= ” %i in (‘sc query state^=all ^|findstr SERVICE_NAME’) do ( @sc qc %j | findstr BINARY_PATH_NAME >> svr.lst)

Older Posts »

Powered by WordPress