在Unix中,我們可以把多個命令在一行是這樣的:在Windows批處理文件一行多個命令
$ date ; ls -l ; date
我想在Windows類似的事情:
> echo %TIME% ; dir ; echo %TIME
但它打印時間並且不執行命令dir
。
我該如何做到這一點?
在Unix中,我們可以把多個命令在一行是這樣的:在Windows批處理文件一行多個命令
$ date ; ls -l ; date
我想在Windows類似的事情:
> echo %TIME% ; dir ; echo %TIME
但它打印時間並且不執行命令dir
。
我該如何做到這一點?
使用:
echo %time% & dir & echo %time%
這一點,從存儲器,相當於分號分隔在bash
等UNIXy殼。
還有&&
(或||
)只執行,如果第一個成功(或失敗)的第二個命令,但單符號&
是你在找什麼在這裏。
但是,由於環境變量往往會在讀取而不是執行時進行評估,因此很可能會給您同樣的時間。
你可以避開這個問題通過打開延遲擴展:
pax> cmd /v:on /c "echo !time! & ping 127.0.0.1 >nul: & echo !time!"
15:23:36.77
15:23:39.85
這是命令行需要。如果你這樣做的腳本里面,你可以用setlocal
:
@setlocal enableextensions enabledelayedexpansion
@echo off
echo !time! & ping 127.0.0.1 >nul: & echo !time!
endlocal
的可能的複製[?如何在Windows CMD一條線運行兩個命令(http://stackoverflow.com/questions/ 8055371/how-to-run-two-command-in-one-line-in-windows-cmd) – IvanRF