Board logo

标题: [文本处理] [已处理]批处理如何依次创建含固定内容的新文本? [打印本页]

作者: coolrat    时间: 2012-2-11 23:29     标题: [已处理]批处理如何依次创建含固定内容的新文本?

【应用范围】
文献摘录(相当于以前纸质的“文摘卡”)
【功能期待】

bat需在所在目录下自动运行,而不需指定文件路径;

新建TXT命名为“文献卡片 数字编号”;数字编号由年份+识别编号构成;识别编号为四位数;
如2012年所建第一张卡片即为20120001;第二张即为20120002;如此类推。

按编号顺序,依次创建。“依次”而非“一次”,当文献卡片20120001存在时候,自动建立20120002,
当20120002存在时,即自动创建20120003,如此类推。每次创建自动检测编号而万不能覆盖先前文件。
每个新建TXT自动在文本首几行输入文摘信息,信息内容如下:
——————————————————
作者:
篇名:
出处:《             》第    年    期(号)
出版社:
出版时间:    年  月
版次:第  版
————————————————--
(此项目先前曾得namejm 、tmplinshi 二君应助,参见http://www.bathome.net/thread-13427-1-1.html

每次创建完成后,自动打开新创建的TXT。

【致谢】
恳请诸位大侠援手相助,“批处理之家”不仅让俺体会到了批处理的简洁给学习带来的受益,也感受到了诸网友的热情所带来的便利,
向曾经帮助和即将帮助的大侠们致敬!

作者: ivor    时间: 2012-2-12 13:38

本帖最后由 ivor 于 2012-2-12 13:40 编辑
  1. @echo on& setlocal enabledelayedexpansion
  2. for /l %%i in (10001,1,20000) do (
  3. set a=%%i
  4. if not exist "!date:~,4!!a:~-4!.txt" call :NewText !date:~,4!!a:~-4!.txt
  5. )
  6. pause & exit
  7. :NewText
  8. (echo ——————————————————
  9. echo 作者:
  10. echo 篇名:
  11. echo 出处:《             》第    年    期(号)
  12. echo 出版社:
  13. echo 出版时间:    年  月
  14. echo 版次:第  版
  15. echo ————————————————--)>%1
  16. start %1
  17. pause & exit
复制代码
这位书友,是要的这个功能吗?
作者: coolrat    时间: 2012-2-12 13:52

回复 2# ivor


完美实现功能!   
衷心感谢ivor 兄!并祝福一切吉祥!
   





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2