Puncte:3

echo %time% ieșiri duplicat

drapel ch

Am o comandă care adaugă marcajul de timp la început și la sfârșit (echo %time% & #other command# & echo %time%). Însă %timp% va fi la fel, indiferent de cât timp a durat comanda.

exemplu de ieșire:

Ora începere: 19:48:31.75

Se face ping la google.com [2a00:1450:400e:80c::200e] cu 32 de octeți de date:
Răspuns de la 2a00:1450:400e:80c::200e: time=13ms
Răspuns de la 2a00:1450:400e:80c::200e: time=13ms
Răspuns de la 2a00:1450:400e:80c::200e: time=9ms
Răspuns de la 2a00:1450:400e:80c::200e: time=10ms

Statistici ping pentru 2a00:1450:400e:80c::200e:
    Pachete: trimise = 4, primite = 4, pierdute = 0 (0% pierdere),
Timpi aproximativi dus-întors în milisecunde:
    Minim = 9 ms, Maxim = 13 ms, Medie = 11 ms

Timp de sfârșit: 19:48:31.76

Există vreo modalitate de a avea această lucrare, încă într-o singură linie?

Mulțumiri

djdomi avatar
drapel za
execuția comenzii și a comenzii este doar atunci când este adevărată, de ce să nu folosiți punct și virgulă; se execută indiferent
drapel ch
@djdomi am încercat asta, dar scriind-o ca `echo %time%; ping google.com; ecou %time%` sau chiar cu ghilimele, nu merge. Vede punctul și virgulă ca o parte a comenzii, mai degrabă decât să o închidă
drapel in
@djdomi `;` nu funcționează în cmd, un singur `&` continuă execuția în timp ce `&&` nu
drapel jp
@MichaelHampton: Diferența este de 0,01 secunde, în timp ce ar trebui să fie mai mult de 4 secunde.
Puncte:2
drapel in

CMD extinde variabilele și apoi execută fiecare linie. Asta inseamna ca

echo %time% & ping 127.0.0.1 & echo %time%

este mai întâi extins, apoi executat

Există, de asemenea, „extindere întârziată” Iată câteva exemple de utilizare, si chiar mai detaliat Acest lucru funcționează însă doar într-un fișier cmd, și nu pe linia de comandă

setlocal ENABLEDELAYEDEXPANSION
ecou !timp! & ping 127.0.0.1 & echo !time!

Continuați căutarea poate cmd /V poate fi utilizat:

cmd /V /C "echo %time% & ping 127.0.0.1 & echo !time!"

Oferă rezultatul așteptat pentru mine, dar ar putea exista probleme care împiedică unele cazuri de utilizare.

It Wasn't Me avatar
drapel cn
*[... și chiar mai detaliat](https://superuser.com/questions/1569594/how-does-delayed-expansion-works-in-batch-script)* Mi-a placut referinta de suport.... d:)
It Wasn't Me avatar
drapel cn
Sunt în mac-ul meu acum, deci nu există nicio cale de testare, dar. poate **`call`** poate face și asta: `echo %time% & ping 127.0.0.1 & call echo %time%`...
drapel in
@Aceasta nu va funcționa, deoarece variabilele sunt evaluate mai întâi acolo, trebuie să aveți expansiune întârziată dacă o rulați pe aceeași linie (sau bloc `()`)
It Wasn't Me avatar
drapel cn
pentru asta scriu *poate*

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.