[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 如何只用一行语句实现输出文字的同时将文字输出到文件?

RT
我知道可以用两行语句解决,一行输出到屏幕,一行到文件,但是觉得这样写得很拖沓,请问诸位高手有什么方法可以用尽可能简练的语句实现在屏幕上输出一行字的同时,将该行字追加到文件的功能呢?

回复 20楼 的帖子

  1. @echo off
  2. mysoft.exe -i>tmp.txt
  3. type tmp.txt
  4. pause
复制代码
先输出到文件,然后将里面的内容type出来。。。但并不能“同时”进行。。。
心绪平和,眼藏静谧。

TOP

原帖由 Batcher 于 2008-11-3 19:26 发表


有没有办法只执行一次但是同时输出到显示屏和保存到文件中呢?
我的需求是 :要执行一个安装服务的BAT,但是只能执行一次。让用户看到CMD中显示的信息,并且出现PAUSE让用户退出。文件中的内容是用来做日志倒查的。

或者实在不行能不能输出到文件后再从文件中读取输出到显示屏上?

TOP

回复 18楼 的帖子

::第一次
if "%~1" equ "" start/b cmd /c "%~fs0 a>>a.txt 2>&1"
::第二次
user /add
if "%~1" equ "" pause
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

请问这样这个命令实际上是执行几次呢?还有我为了把所有信息都输出实际上的代码是

if "%~1" equ "" start/b cmd /c "%~fs0 a>>a.txt 2>&1"
user /add
if "%~1" equ "" pause


原帖由 Batcher 于 2008-11-3 16:58 发表
@echo off
if "%~1" equ "" start/b cmd /c "%~fs0 a>>a.txt"
mysoft.exe -i 2>nul
if "%~1" equ "" pause

TOP

回复 16楼 的帖子

  1. @echo off
  2. if "%~1" equ "" start/b cmd /c "%~fs0 a>>a.txt"
  3. mysoft.exe -i 2>nul
  4. if "%~1" equ "" pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我执行了3楼的代码
@echo off
if "%~1" equ "" start/b cmd /c "%~fs0 a>>a.txt"
mysoft.exe -i
if "%~1" equ "" pause
但是会报该服务已经安装过一次,给我感觉是mysoft.exe -i这个命令执行了2次,请问如何解决

TOP

回复 13楼 的帖子

%~0不同于%0
%~0与%0在某些特定的情况下也不会是“自身路径”
心绪平和,眼藏静谧。

TOP

回复 13楼 的帖子

你亲自测试没有?测试的代码和结果分别是什么?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9楼 的帖子

回复9L
内容是在百度上搜的,链接如下
http://www.cn-dos.net/forum/blog ... d=103127&page=1

TOP

楼上的太可爱了,有没有看清Lz要求?

TOP

@echo 哈哈!~~~~~~~~~~~~~~~~~>c:\哈哈.txt
这个不就是么~

TOP

回复 7楼 的帖子

zqz兄所言极是,多谢指出。
但依兄弟的写法,效率会是个问题。
心绪平和,眼藏静谧。

TOP

楼主从何得知“%~0指的是批处理文件自身的完整路径”?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

3L和7L的代码都已经完成了我想要达到的目的,可是对于2位的代码我还是看不懂.
我不是那种不懂得自己上网搜的人,实在是无奈百度对"%,~"等关键字进行了过滤,搜不到什么有效信息.现在我勉强明白
%~0指的是批处理文件自身的完整路径
%~fs0是路径使用短文件名
但是本人菜,对于这两份代码的实现原理还是不明白,恳请各位指教指教...
只是不想知其然而不知其所以然,希望大家指导指导.谢谢啦~

TOP

返回列表