如何在Windows命令提示符下运行命令行应用程序并同时显示输出并重定向到文件?
例如,如果我要运行该命令dir > test.txt,则会将输出重定向到调用的文件test.txt而不显示结果.
我怎么能写一个命令显示输出和输出重定向到在Windows命令提示符下一个文件,类似于teeUnix上的命令?
我正在尝试编写VBScript,我正在使用Randomize和MsgBox等函数.我很好奇使用()和不使用它们有什么区别.例如:
Randomize - 这条线有效.
Randomize() - 这条线也有效.
MsgBox "Hello world!" - 这很有效.
MsgBox ("Hello world!") - 这也有效.
该脚本将在具有不同Windows版本(至少是Windows XP)的多台计算机上运行.我想知道在使用这些函数时是否会遇到任何兼容性/语法问题.
我正在尝试使用为bat文件编写的tee代码,但在我的代码中实现它时遇到了麻烦.我不想使用任何第三方安装来解决开球问题,因为如果我在一年内格式化我的计算机并希望再次运行该程序,我希望代码能够正常工作.
我以这种方式设置它:
mycommand.exe | tee.bat -a output.txt
我已尝试使用单独的.bat文件并尝试在原始文件中包含作为函数(preffered),但.bat无效:
myprogram.exe | call tee -a output.txt
echo.
echo.
echo.
SET /P restart="Do you want to run again? (1=yes, 2=no): "
if "%restart%"=="1" GOTO LoopStart
::--------------------------------------------------------
::-- Function section starts below here
::--------------------------------------------------------
:tee
:: Check Windows version
IF NOT "%OS%"=="Windows_NT" GOTO Syntax
| 
:: Keep variables local
SETLOCAL
:: Check command line arguments
SET Append=0
IF /I [%1]==[-a] (
    SET Append=1
    SHIFT
)
IF     [%1]==[] GOTO …我知道这样做的方法有点像作弊但下面的代码创建一个临时文件,然后删除它.我不希望这种情况发生.这样做有适当或更好的方法吗?
command 2>> "temp"
set /p OUTPUT=<"temp"
del "temp"
echo %OUTPUT%
我知道有一个使用for循环的解决方案但是对于返回多行结果的命令不起作用.我想将所有这些存储到我的变量中.(我试过这个代码顺便说一句)
我正在使用此命令将输出保存到文件中。
mongorestore --host %computerName%:%_portnumber% -u Admin -p user --oplogReplay %_sourceFolder% >> D:\Data\admin\abc.log
这将创建一个空文件,并且所有输出都列在命令提示符中。
有没有办法将输出输出到文件?任何帮助是极大的赞赏。