找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22935|回复: 2

[文本处理] [已解决]批处理怎样创建读书模板?

[复制链接]
发表于 2011-7-27 13:01:01 | 显示全部楼层 |阅读模式
请诸君援手相助——
【目的】
随手记录读书笔记
【意图】
1.在批处理所在文件夹内,创建一个以“读书笔记+日期顺序”的TXT,所谓日期格式为读书笔记记录当日,
如2011年7月7月1日所作笔记,则创建TXT,则文件为”读书笔记2011-07-01.txt".

2.所创建文档能自动在文档之首有如下固定格式,以便填写所阅读书籍或论文的文献信息
——————————————————
作者:
篇名:
出处:《             》第    年    期(号)
出版社:
出版时间:    年  月
版次:第  版
已阅读至    页。
————————————————--

3.若夹内无此txt,则自动创建并打开;若夹内此文档已经存在,则自动打开已有文档,以便同日间断性追加新内容。

【说明】本人一文科书生,纯属批处理之“门外汉”,甚喜批处理“以简驭繁”之理念。若得诸位相助,庶几可摆脱平日读书摘引文献与作读书笔记之苦。先行谢过!

评分

参与人数 1PB +2 收起 理由
broly + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-7-27 14:45:09 | 显示全部楼层
文科生路过
关键是要获取指定格式的日期比较麻烦
cmd下没有专门的命令能对日期以指定格式进行输出
只好通过修改注册表来实现
获取到指定格式的日期之后再把系统的日期格式复原
如果杀软报警,请允许对注册表的操作:

  1. @echo off
  2. for /f "skip=4 delims= " %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
  3.   set RegDateOld=%%a
  4. )
  5. set RegDateOld=%RegDateOld:~-8%
  6. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
  7. for /f "tokens=1,2,3 delims=-/: " %%i in ("%date%") do set day=%%i-%%j-%%k
  8. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
  9. if exist 读书笔记%day%.txt (
  10.     start "" 读书笔记%day%.txt
  11. ) else (
  12.     (
  13.         echo 作者:
  14.         echo 篇名:
  15.         echo 出处:《             》第    年    期(号)
  16.         echo 出版社:
  17.         echo 出版时间:    年  月
  18.         echo 版次:第  版
  19.         echo 已阅读至    页。)>读书笔记%day%.txt
  20. )
复制代码

评分

参与人数 1技术 +1 收起 理由
broly + 1 乐于助人

查看全部评分

发表于 2011-7-27 15:29:03 | 显示全部楼层
本帖最后由 tmplinshi 于 2011-7-27 15:45 编辑

保存为 读书笔记.vbs:
  1. Dim Today, fso, FileName, MyFile

  2. Today = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
  3. Set fso = CreateObject("Scripting.FileSystemObject")
  4. FileName = "读书笔记" & Today & ".txt"

  5. If (fso.FileExists(FileName)) Then
  6.     '
  7. Else
  8.     Set MyFile = fso.CreateTextFile(FileName, True)
  9.     MyFile.WriteLine _
  10.         "作者:" & vbCrLf & _
  11.         "篇名:" & vbCrLf & _
  12.         "出处:《             》第    年    期(号)" & vbCrLf & _
  13.         "出版社: " & vbCrLf & _
  14.         "出版时间:    年  月" & vbCrLf & _
  15.         "版次:第  版" & vbCrLf & _
  16.         "已阅读至    页。"
  17.     MyFile.Close
  18. End If

  19. WScript.CreateObject ("WSCript.shell").run FileName
复制代码

评分

参与人数 1技术 +1 收起 理由
broly + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 02:01 , Processed in 0.018850 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表