Προς το περιεχόμενο

How to put delay-wait in a BATCH file


LiKBeAsT

Προτεινόμενες αναρτήσεις

Δημοσ.

χαιρεται..

 

ενδιαφερομαι να βαλω delay se ena αρχειο batch..

 

αυτο το delay να ειναι είτε ενα ξεχωριστό batch αρχειακι το οποιο να κανω CALL ειτε γενικά μια εντολη με στο ιδιο το αρχειο..

 

πληροφοριακα το λειτουργικο ειναι ΧΡ.

 

εχω βρει την εντολη

PING 1.1.1.1 -n 1 -w 6000 >NUL

 

η οποια όμως..

δουλευει μονο όταν ειμαι στο δικτυο..Ενω εγω θελω να λειτουργει ανεξαρτητα συνδεσης..

Επισης δν μ κανει κ για πολυ καλη γτ προτιμω να αποφευγεται καθε ειδους εξωτερικη σχεση...

Δημοσ.

Μία λύση, που δεν ξέρω αν θα σε βολέψει, αφού λες ότι προτιμάς να αποφεύγεις εξωτερικές σχέσεις.

 

Κατεβάζεις το δωρεάν Windows Server 2003 Resource Kit Tools, που έχει διάφορα καλούδια μέσα, μεταξύ των οποίων και το sleep.exe:

 

http://go.microsoft.com/fwlink/?LinkId=4544

 

Και:

 

Ή το εγκαθιστάς ολόκληρο.

 

Ή το ξεπακετάρεις με το 7-Zip (μπορεί να γίνεται και με το WinRAR και με άλλα -- δεν έχω δοκιμάσει), τσιμπάς το sleep.exe και το ρίχνεις εκεί που είναι το batch file.

 

Και μετά βάζεις μια γραμμή στο batch. Π.χ., για ένα λεπτό:

 

>
sleep 60

Δημοσ.

psaxnontas eixa vrei auto to sleep se exe..alla nomiza oti 8a proerxontan apo kapoio bat h oti genika 8a yparxei entolh gia auth th leitourgia...

EDIT

Twra p to katebasa ta 2 sleep einai diaforetika..to ena einai molis 5Kb enw auto p eixa 124Kb..

fainetai omws na leitourgoun to idio..

Kalutera na xrhsimopoiw thw miocrosoft..?

 

kai kati allo..genika ti einai auto to Windows Server 2003 Resource Kit Tools...?

Δημοσ.

Σώσε αυτό σαν test.bat και τρέξ' το.

>
@echo off
echo WScript.Sleep(1000) > sleep.js
echo Waiting a second...
cscript sleep.js > nul
echo Done waiting!

 

Υ.Γ. γράψε και κανά ελληνικό βρε! How to put delay... Εγγλέζοι είμαστε; :)

Δημοσ.

ευχαριστω πολυ φιλε μου!!

δουλευει μια χαρα!!

 

Αλλα θελω ν μ εξηγησεις λιγο...Αν μπορεις φυσικα...

 

δημιουργει το JScript κ μετα το τρεχει..?Τι ακριβως ειναι αυτο..?

γτ η εντολη WScript.Sleep(1000) > sleep.js θελει να εχει echo μπροστα...?

 

ευχαριστω πολυ!!

 

ΥΓ τα εγγλεζικα ηταν για να μν αλλαζω τις γλωσσες στο πληκτρολογιο συνεχεια... :-)

EDIT

στην πιο απλοποιημενη μορφη το αρχειο μπορει να γινει

@echo off

echo WScript.Sleep(3000) > sleep.js

cscript sleep.js > nul

η κ χωρις το @echo off..σωστα..?ή παει κ πιο απλο..?(το νουμερο ειναι msec..ok αυτο..)

Δημοσ.

Το jscript (στα windows) είναι στο περίπου ότι ήταν τα batch files στο DOS.

Υπάρχει το wscript, το οποίο τα κάνει να εκτελούνται σε παράθυρο, και το cscript που τα εκτελεί σε DOS.

 

Το echo μπροστά είναι για να δημιουργηθεί το αρχείο sleep.js. Αν θες το δημιουργείς μια φορά με έναν editor, οπότε μπορείς απλά να το καλείς:

cscript sleep.js

 

Το νούμερο μέσα είναι msec.

 

Μικρότερο, σε μια γραμμή:

echo WScript.Sleep(1000) > sleep.js && cscript sleep.js > nul

 

Αλλά πρέπει να έχεις δικαιώματα εγγραφής στον τρέχοντα φάκελο... Αλλιώς, θα πρέπει να βάλεις ένα %temp% μπροστά στο sleep.js για να δημιουργείται στον φάκελο temp.

Δημοσ.

μαλλον θα φτιαξω 2-3 scripts και να τα εχω στο φακελο οποτε να μν εχω προβλημα...

 

Η εντολη "cscript sleep.js > nul"

του λεει να εκτελέσει σε DOS(cscript) το αρχειο "sleep.js"..?

 

 

το sleep.js τι περιεχει..?αυτο π βλεπω με το νοτεπαδ...?:Ρ δηλ "WScript.Sleep(3000)"...?

Δημοσ.

1) Ναι,

2) Ναι.

 

Επίσης αν θες μπορείς να περνάς παράμετρο τα msec, δηλαδή να καλείς

cscript sleep.js 1000

για να περιμένει ένα δευτερόλεπτο. Έτσι δεν χρειάζεται να φτιάξεις πολλά διαφορετικά sleep.js ανάλογα με το πόσο θες να περιμένει...

 

Για να το κάνεις αυτό θα πρέπει να αλλάξεις το sleep.js ώστε να διαβάζει τις παραμέτρους του. Sorry, δεν έχω ώρα να στο κάνω τώρα, αν το θες πες μου και θα το κάνω κάποια στιγμή αργότερα.

Δημοσ.

κατι ακομη..

 

το "> nul" δν ειναι οταν θελω να μν διαβαζεται κατι..?να ειναι δηλ σαν να μν υπαρχει..?

 

να με ενδιαφερει να βαζω εγω παραμετρους..Ευχαριστω πολυ!οποτε βρεις χρονο ευπροσδεκτο...

 

μια απορια..δν γινεται να τρεχει η εντολη απο το bat χωρις να πρεπει να μεσολαβησουν αλλα αρχεια..?με αλλα λόγια...αυτος ειναι ο μονος τροπος...?

 

thx και παλι...

Δημοσ.

> το "> nul" δν ειναι οταν θελω να μν διαβαζεται κατι..?να ειναι δηλ σαν να μν υπαρχει..?

 

Δοκίμασε να το βγάλεις, θα σου εμφανίσει κάτι πληροφοριακά μηνύματα. Το > nul απλά του λέει να μη σου εμφανίζει μηνύματα.

 

> μια απορια..δν γινεται να τρεχει η εντολη απο το bat χωρις να πρεπει να μεσολαβησουν αλλα αρχεια..?

 

Γίνεται κι αυτό, αλλά χρειάζεται καμιά 20ριά γραμμές για να το πετύχεις (με set, %TIME%, προσθέσεις, goto κτλ). Το χειρότερο όμως θα είναι ότι κατά το "περίμενε" η CPU θα δουλεύει, και έτσι αν θες στο μεταξύ να κάνεις καμιά "βαριά δουλειά" στο background, δεν θα της αφήνει ελεύθερο τον επεξεργαστή...

Δημοσ.

> το εχω δοκιμασει κ δν δουλευε..δηλ με το nul απλως δν τα εμφανιζει αλλα τα εκτελει κανονικα..?Ποια ειναι η εντολη για να αγνοει κατι π γραφω?

 

> φανταζομαι πως θα γινεται με το τροπο π λες..βλεπει την ωρα..να προσθετει το χρονο π θελω να περιμενει..να ελεγχει ποτε θα ερθει εκεινη η ωρα κτλ..φανταζομαι ειπα βεβαια...μπορει αυτο π εννοεις να ειναι τελειως ασχετο με αυτο..

 

Αλλα ναι..θελω να ειναι ελαφρυ, να δουλευει πολυ smooth και να μν βγαζει ευκολα σφαλματα..αρα φανταζομαι βολευουν ta scripts...

Δημοσ.
χαιρεται..

 

ενδιαφερομαι να βαλω delay se ena αρχειο batch..

 

αυτο το delay να ειναι είτε ενα ξεχωριστό batch αρχειακι το οποιο να κανω CALL ειτε γενικά μια εντολη με στο ιδιο το αρχειο..

 

πληροφοριακα το λειτουργικο ειναι ΧΡ.

 

εχω βρει την εντολη

 

Παράθεση:

PING 1.1.1.1 -n 1 -w 6000 >NUL

 

η οποια όμως..

δουλευει μονο όταν ειμαι στο δικτυο..Ενω εγω θελω να λειτουργει ανεξαρτητα συνδεσης..

Επισης δν μ κανει κ για πολυ καλη γτ προτιμω να αποφευγεται καθε ειδους εξωτερικη σχεση...

__________________

 

Αν αλλάξεις την ip από 1.1.1.1 σε 127.0.0.1 (ο υπολογιστής από τον οποίο εκτελείς το πρόγραμμα)

Δημοσ.

127.0.0.1 ειναι παντα ο υπολογιστης από τον οποίο εκτελώ το πρόγραμμα...?

 

το αλλαξα αλλα αυτο δν λειτουργει ουτε τωρα π ειμαι στο νετ...

Δημοσ.

1)

127.0.0.1 ειναι παντα ο υπολογιστης από τον οποίο εκτελώ το πρόγραμμα...?

ναι

 

2)δοκίμασε να βάλεις αντί 127.0.0.1 βάλε localhost

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...