Board logo

标题: [文件操作] [已解决]批处理如何获取/提取自身中的内容输出到其他文本? [打印本页]

作者: wh1234567    时间: 2012-7-15 00:07     标题: [已解决]批处理如何获取/提取自身中的内容输出到其他文本?

本帖最后由 pcl_test 于 2016-5-5 23:38 编辑

@echo off & setlocal enabledelayedexpansion
for /f "call :a3 delims=" %%i in ('type %0') do echo %%i>>文档.txt
:a3
中间这里是要拷贝的内容
goto :eof
pause
不能处理,错在哪里?
作者: apang    时间: 2012-7-15 00:39

for /f选项里只有delims、tokens等,没有call :a3
  1. @echo off
  2. (for /f "delims=" %%i in ('more +5 "%~0"') do (
  3.   if "%%i"=="goto :eof" (goto :eof) else echo %%i
  4. ))>文档.txt
  5. :a3
  6. 中间这里是要拷贝的内容
  7. goto :eof
  8. :a4
  9. ......
复制代码

作者: wh1234567    时间: 2012-7-15 00:49

本帖最后由 wh1234567 于 2012-7-15 00:52 编辑

回复 2# apang

你好,如果想拷贝指定的标签内容的话该咋弄呢,:a3的前面和后面还有很多个标签的话,这个代码就不能准确提取了吧
作者: apang    时间: 2012-7-15 01:17

本帖最后由 apang 于 2012-7-15 02:40 编辑

回复 3# wh1234567
  1. @echo off
  2. (for /f "delims=" %%i in ('type "%~0"') do (
  3.   if defined flag if "%%i"=="goto :eof" (goto :a2) else echo %%i
  4.   if "%%i"==":a3" set flag=1
  5. ))>文档.txt
  6. :a2
  7. Start "" 文档.txt
  8. pause&goto :eof
  9. :a3
  10. 中间这里是要拷贝到内容
  11. goto :eof
  12. :a4
  13. .......
复制代码

作者: wh1234567    时间: 2012-7-15 01:39

本帖最后由 wh1234567 于 2012-7-15 02:03 编辑

回复 4# apang
可以处理,为什么加了pause不能暂停,自动就退出了
  1. @echo off
  2. (for /f "delims=" %%i in ('type "%~0"') do (
  3.   if defined flag if "%%i"=="goto :eof" (goto :eof) else echo %%i
  4.   if "%%i"==":a3" set flag=1
  5. ))>文档.txt
  6. Start "" "C:\Documents and Settings\Administrator\桌面\文档.txt"
  7. pause
  8. :a2
  9. .......
  10. goto :eof
  11. :a3
  12. 中间这里是要拷贝的内容
  13. goto :eof
  14. :a4
  15. ......
  16. goto :eof
复制代码

作者: apang    时间: 2012-7-15 02:42

回复 5# wh1234567

好吧,4#再试一次
作者: wh1234567    时间: 2012-7-15 03:45

标签可以在pause的前面?




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