例如,下面的命令(在Windows 7):如何在一行中連接兩個命令的輸出?
date/t>>t.txt
time/t>>t.txt
創建以下在t.txt行:
Fri 06/12/2015
01:37 PM
是否有可能在一個連接兩個命令的輸出(見上文)線(見下文)?
Fri 06/12/2015 01:37 PM
的上述目標可以通過命令來達到:
echo %date% %time%
但它不是對這個問題的答案,因爲這個問題不只是上面的命令。
例如,下面的命令(在Windows 7):如何在一行中連接兩個命令的輸出?
date/t>>t.txt
time/t>>t.txt
創建以下在t.txt行:
Fri 06/12/2015
01:37 PM
是否有可能在一個連接兩個命令的輸出(見上文)線(見下文)?
Fri 06/12/2015 01:37 PM
的上述目標可以通過命令來達到:
echo %date% %time%
但它不是對這個問題的答案,因爲這個問題不只是上面的命令。
對於任意數量的命令,以更簡單的方式:
@echo off
setlocal EnableDelayedExpansion
set "output="
for %%a in ("date /t" "time /t" "echo Hello world") do (
for /F "delims=" %%b in ('%%~a') do set "output=!output! %%b"
)
echo %output:~1%>> t.txt
兩個命令的輸出可以在一個線通過使用下面的命令(在批處理文件)被接合:
for /f "delims=" %%x in ('date/t') do set d=%%x
for /f "delims=" %%x in ('time/t') do set t=%%x
echo %d%%t%>>t.txt
感謝Joey(joey)和弗蘭克博拉克(弗蘭克 - 博拉克)! (http://stackoverflow.com/questions/1425807/redirecting-output-to-a-command-line-argument-of-another-command-in-windows) – valeryan
通過使用以下命令(在批處理文件中),兩個命令的輸出可以通過一行連接:
date /t>t_t.txt
set /p t=<t_t.txt
time /t>t_d.txt
set /p d=<t_d.txt
echo %t%%d%>>t.txt
感謝Stefanos Kalantzis (Stefanos的-kalantzis)! http://stackoverflow.com/questions/4568941/reading-the-content-of-a-text-file-into-an-environment-variable – valeryan
對不起@Aachi,但 如果for/F「delims =「%% b in('%%〜a')do set」output =!output!%% b「 然後2015年後還有額外的空間:」Mon 06/15/2015 08:41 AM「 if if for/F「delims =」%% b in('%%〜a')do set「output =!output!%% b」 然後有錯過的字母:「on 06/15/2015 08:42 AM」 – valeryan
我想你希望每個輸出都用空格分隔,例如在'echo%date%%time%'示例中!第一個附加空間在'echo%output:〜1%>> t.txt'的「:〜1」部分被消除。如果你不想要分隔空間,也可以用'echo%output%>> t.txt'來改變最後一行' – Aacini
@Aachi:是的,需要一個空間。但是,如果您將看到此頁面的源代碼,那麼在「2015」之後,您將看不到一個,而是兩個空格(通過瀏覽器將其更改爲一個空格)。 – valeryan