[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# zhangop9
代码以“----------”作为判断标准,所以不要告诉我这个是你为了表达而刻意添加的。。。
  1. @echo off
  2. ::文件名:telconvert.bat
  3. ::用法:
  4. ::文本文件扩展名固定为.txt,表格文件扩展名固定为.xls
  5. ::1.文本转换为表格
  6. ::  在命令行下输入:telconvert.bat 文本文件名 表格文件名
  7. ::  如:telconvert.bat contact.txt contact.xls
  8. ::  也可直接将文本文件拖至bat文件上,此时将自动生成同名表格文件(仅扩展名不同)
  9. ::2.表格转换为文本
  10. ::  在命令行下输入:telconvert.bat 表格文件名 文本文件名
  11. ::  如:telconvert.bat contact.xls contact.txt
  12. ::  也可直接将表格文件拖至bat文件上,此时将自动生成同名文本文件(仅扩展名不同)
  13. setlocal enabledelayedexpansion
  14. set "tab= "
  15. if "%1"=="" (set/p source=请输入要转换的文件名:) else set "source=%1"
  16. if "%source:~-4%"==".txt" (set destex=.xls&set go=1) else (
  17.   if "%source:~-4%"==".xls" (set destex=.txt&set go=2) else (
  18.     echo,源文件格式不正确!&pause>nul&exit/b
  19. ))
  20. if "%2"=="" (set "dest=%~n1%destex%") else set "dest=%2"
  21. if not %dest:~-4%==%destex% echo,目标文件格式不正确!&pause>nul&exit/b
  22. goto convert%go%
  23. :convert1
  24. echo,正在转换,请稍后...
  25. set n=
  26. (for /f "usebackq skip=1 tokens=1* delims=:" %%a in ("%source%") do (
  27.   if "%%a"=="----------" set/a n+=1
  28.   if !n! equ 0 (set/p=%%a%tab%<nul) else goto :next1
  29. ))>%dest%
  30. :next1
  31. (for /f "usebackq tokens=1* delims=:" %%i in ("%source%") do (
  32.   if not "%%i"=="----------" (set/p=%%j%tab%<nul) else echo,
  33. ))>>%dest%
  34. start "" "%dest%"
  35. goto :eof
  36. :convert2
  37. set/p head=<"%source%"
  38. set n=
  39. for %%a in (%head%) do set/a n+=1&set "head!n!=%%a"
  40. (for /f "usebackq skip=1 delims=" %%i in ("%source%") do (
  41.   echo,----------
  42.   set str="%%i"&set "str=!str:%tab%=" "!"&set m=
  43.   for %%m in (!str!) do (
  44.     set/a m+=1
  45.     if !m! leq %n% for %%n in (!m!) do echo,!head%%n!:%%~m
  46.   )
  47. ))>%dest%
  48. echo,---------->>"%dest%"
  49. start "" "%dest%"
复制代码
1

评分人数

    • broly: 乐于助人技术 + 1
看得多说得多,远比不上写得多。

TOP

返回列表