网站域名能迁移吗,游戏网站建设免费版,怀化seo,邯郸网站优化公司介绍
有时候需要打开记事本在末尾追加文本#xff0c;如果手动找到txt文件#xff0c;再打开txt文件#xff0c;按 ctrlhome 到达文末#xff0c;才能完成对txt文件的追加#xff0c;比较繁琐。而且如果txt文件很大#xff08;比如词典文件#xff09;#xff0c;手动…介绍
有时候需要打开记事本在末尾追加文本如果手动找到txt文件再打开txt文件按 ctrlhome 到达文末才能完成对txt文件的追加比较繁琐。而且如果txt文件很大比如词典文件手动打开txt追加显然不现实。下面这个批处理程序easyadd.bat实现从控制台读入行并写入到选定的txt文件中。笔者主要用来添加词条到rime的词库文件。
使用说明需要新建一个 path.ini 用于存储txt文件的路径条目并且在.bat中修改 set pathfileE:\Projects\easyadd\path.ini 中路径为你的 path.ini 路径。 由于笔者主要用来调教词库需要输入制表符而控制台摁tab只会补全代码无论如何键入不了制表符所以只能让bat脚本识别输入中的 \t 并替换为制表符set entry%entry:\t %要输入制表符的时候输入 \t 就好了。
easyadd.bat 代码如下:
echo off setlocal enabledelayedexpansion
:begin
set pathfileD:\rime\EasyAdd\path.ini
set deployerD:\rime\EasyAdd\deployer.exe
for /f eol# tokens1,2,3 delims usebackq %%a in (%pathfile%) do (set /p[%%a]%%b^(%%c^) nul)
echo [0]直接部署rem 1 选择目录
:retry
set /p choice^标号^
if not defined choice (set /pnulgoto retry)
if %choice% 0 (echo 直接部署 goto deploy)
for /f eol# tokens3,4 delims usebackq %%a in (%pathfile%) do (if %%a%choice% (set full_pathg%%b goto next) )
for /f eol# tokens1,4 delims usebackq %%a in (%pathfile%) do (if %%a%choice% (set full_pathg%%b) )
if not defined full_pathg (set /pnulgoto retry)
:next
call :deal %full_pathg%rem 2 检验文件
if not exist %full_path% goto nofile
:filedrem 3 输入词条
:retry2
set /p entry^词条^
if not defined entry (goto retry2q)
rem 替换\t
set entry%entry:\t %
echo %entry%%full_path%
goto end0
:retry2q
set /p retry2_yon再试一次?(y/n)
if not defined retry2_yon (set retry2_yony)
if /i %retry2_yon% EQU y (goto retry2) else (echo 放弃添加 goto end)rem 2.1 文件不存在时新建
:nofile
if %full_path%A:\ goto ini
echo 目录下%dp%未找到文件%nx%
set /p new_yon是否新建文档?(y/n)
if not defined new_yon set new_yony
if /i not %new_yon% EQU y (echo 放弃新建 goto end)
rem 新建文档操作
type nul%full_path%
if exist %full_path% (echo 新建成功 goto filed) else (echo 错误路径 goto ini)rem 打开ini文件
:ini
:set /p请配置path.ini并保存nul
start %pathfile:%
exitrem 非正常退出
:end
echo.pause
exitrem 完成并退出
:end0
echo. echo %entry%--^%nx% echo.
set resF
if %choice%ck set resT
if %choice%2 set resT
if %choice%wb set resT
if %choice%3 set resT
if %res%T (
:deploy
start /b %deployer:% /deployerecho 部署完毕||echo 部署运行失败
)
echo.pause
exitrem 1.1 参数扩充
:deal
set n%~n1
set nx%~nx1
set dp%~dp1
set full_path%~1path.ini 示例
# easyadd paths configuration
# encoding: utf-8#路径目录
#序号 名称 简写 路径
1 单词 dc E:\JianGuoYun\单词本.txt
2 自词库 ck D:\rime\custom_phrase.txt
3 五笔 wb D:\rime\wubi86_extended.dict.yaml0 打开路径配置 pz A:\使用示例
注意本程序涉及的所有文件都是utf-8编码方式另外控制台想显示unicode字符可通过注册表修改代码页详情请百度。
PS将输入重定向能实现由文件输入。