标题: [文本处理] [已解决]批处理怎样创建读书模板? [打印本页]
作者: coolrat 时间: 2011-7-27 13:01 标题: [已解决]批处理怎样创建读书模板?
请诸君援手相助——
【目的】
随手记录读书笔记
【意图】
1.在批处理所在文件夹内,创建一个以“读书笔记+日期顺序”的TXT,所谓日期格式为读书笔记记录当日,
如2011年7月7月1日所作笔记,则创建TXT,则文件为”读书笔记2011-07-01.txt".
2.所创建文档能自动在文档之首有如下固定格式,以便填写所阅读书籍或论文的文献信息
——————————————————
作者:
篇名:
出处:《 》第 年 期(号)
出版社:
出版时间: 年 月
版次:第 版
已阅读至 页。
————————————————--
3.若夹内无此txt,则自动创建并打开;若夹内此文档已经存在,则自动打开已有文档,以便同日间断性追加新内容。
【说明】本人一文科书生,纯属批处理之“门外汉”,甚喜批处理“以简驭繁”之理念。若得诸位相助,庶几可摆脱平日读书摘引文献与作读书笔记之苦。先行谢过!
作者: namejm 时间: 2011-7-27 14:45
文科生路过
关键是要获取指定格式的日期比较麻烦
cmd下没有专门的命令能对日期以指定格式进行输出
只好通过修改注册表来实现
获取到指定格式的日期之后再把系统的日期格式复原
如果杀软报警,请允许对注册表的操作:- @echo off
- for /f "skip=4 delims= " %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
- set RegDateOld=%%a
- )
- set RegDateOld=%RegDateOld:~-8%
- reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
- for /f "tokens=1,2,3 delims=-/: " %%i in ("%date%") do set day=%%i-%%j-%%k
- reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
- if exist 读书笔记%day%.txt (
- start "" 读书笔记%day%.txt
- ) else (
- (
- echo 作者:
- echo 篇名:
- echo 出处:《 》第 年 期(号)
- echo 出版社:
- echo 出版时间: 年 月
- echo 版次:第 版
- echo 已阅读至 页。)>读书笔记%day%.txt
- )
复制代码
作者: tmplinshi 时间: 2011-7-27 15:29
本帖最后由 tmplinshi 于 2011-7-27 15:45 编辑
保存为 读书笔记.vbs:- Dim Today, fso, FileName, MyFile
-
- Today = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
- Set fso = CreateObject("Scripting.FileSystemObject")
- FileName = "读书笔记" & Today & ".txt"
-
- If (fso.FileExists(FileName)) Then
- '
- Else
- Set MyFile = fso.CreateTextFile(FileName, True)
- MyFile.WriteLine _
- "作者:" & vbCrLf & _
- "篇名:" & vbCrLf & _
- "出处:《 》第 年 期(号)" & vbCrLf & _
- "出版社: " & vbCrLf & _
- "出版时间: 年 月" & vbCrLf & _
- "版次:第 版" & vbCrLf & _
- "已阅读至 页。"
- MyFile.Close
- End If
-
- WScript.CreateObject ("WSCript.shell").run FileName
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |