[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
关键是">"无法输出。。其他的都做出来了?烦
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

使用第三方软件也可以,例如什么sed等。只要能达到要求,不显示非得纯批处理。

TOP

关键是">"无法输出。。其他的都做出来了?烦
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

>b.bat
>>b.bat
变换成这样形式的也行,那这样的话就需要在每行前面加一个>>b.bat 加空格  ,还需要把代码中的空行加上>>b.bat echo.  最后手动改第一行的>>b.bat 改成>b.bat 就可以了。
具体的代码该如何写?

TOP

  1. @echo off
  2. >b.bat echo @echo off
  3. >>b.bat echo more +3 "%%~f0"^>c.bat
  4. >>b.bat echo goto :eof
  5. >>b.bat type a.bat
复制代码

TOP

谢谢这位朋友,但不是这个情况,你的代码是原原本本的重新变成了另一个文件,而我的要求是这样的。
比如下面的代码:命名为test.bat
  1. @echo off
  2. :: 获取当前目录名
  3. :: 当路径中含有空格、感叹号、点号、&和~的时候,也能正确提取
  4. set "cd_=%cd%"
  5. :loop
  6. set "cd_=%cd_:*\=%"
  7. set "cd_tmp=%cd_:\=%"
  8. if not "%cd_tmp%"=="%cd_%" goto loop
  9. echo "%cd_%"
  10. pause
复制代码
写一个批处理,一下就把上面的代码变成了这样的
  1. echo @echo off >test2.bat
  2. echo :: 获取当前目录名>>test2.bat
  3. echo :: 当路径中含有空格、感叹号、点号、&和~的时候,也能正确提取>>test2.bat
  4. echo set "cd_=%cd%">>test2.bat
  5. echo.>>test2.bat
  6. echo :loop>>test2.bat
  7. echo set "cd_=%cd_:*\=%">>test2.bat
  8. echo set "cd_tmp=%cd_:\=%">>test2.bat
  9. echo if not "%cd_tmp%"=="%cd_%" goto loop>>test2.bat
  10. echo echo "%cd_%">>test2.bat
  11. echo pause>>test2.bat
复制代码
或者这样的:
  1. (
  2. echo @echo off
  3. echo :: 获取当前目录名
  4. echo :: 当路径中含有空格、感叹号、点号、&和~的时候,也能正确提取
  5. echo set "cd_=%cd%"
  6. echo.
  7. echo :loop
  8. echo set "cd_=%cd_:*\=%"
  9. echo set "cd_tmp=%cd_:\=%"
  10. echo if not "%cd_tmp%"=="%cd_%" goto loop
  11. echo echo "%cd_%"
  12. echo pause
  13. )>test2.bat
复制代码
形式

TOP

本帖最后由 applba 于 2011-4-26 09:23 编辑

for /f "delims="  %%i in (1.txt) do echo %%i >>a.url
空行自己想办法弄掉……

TOP

返回列表