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

Dos batch file


million_voices

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

Δημοσ.

προσπαθω να φτιαξω ενα αρχειο δεσμης ενεργειων dos το οποιο θελω:

 

να μου εκκινει το my computer

 

>EXPLORER.EXE /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

 

στην συνεχεια θα του στελνει winkey+left keystroke (το κανει allign to left)

 

μετα αλλο ενα instance του explorer

 

και winkey+right keystroke

 

 

ουσιαστικα δλδ θελω να φτιαξω ενα απλο dual pane file explorer

 

δεν ξερω ομως πως να στειλω τα keystrokes

Δημοσ.

Η καλυτερη λυση με διαφορα για αυτο που πας να κανεις ειναι το auto it. Μια σκριπτογλωσσα για windows με την οποια μπορεις να αυτοματοποιησεις πραγματικα τα παντα, συμπεριλαμβανομενων των keystrokes και mouseclicks. Το τελικο script μπορεις να το κανεις και exe ωστε να τρεχει παντου, και φυσικα να το καλεις απο batch αμα χρειαστει. Με εχει σωσει πολλες φορες.

 

Γιατι ομως να μην χρησιμοποιησεις καποιο explorer replacement που εχει πολλα panes και μπορει αν καλειται αυτοματα στη θεση του explorer? Νομιζω το directory opus το κανει αυτο. Αν δεν ειναι αυτο σιγουρα υπαρχει αλλο αλλα δεν το θυμαμαι.

Δημοσ.

 

το sendkeys το ειχα δει,δεν βρισκω πουθενα το winkey εκτος του microsoft natural keyboard που δεν εχω

 

Η καλυτερη λυση με διαφορα για αυτο που πας να κανεις ειναι το auto it. Μια σκριπτογλωσσα για windows με την οποια μπορεις να αυτοματοποιησεις πραγματικα τα παντα, συμπεριλαμβανομενων των keystrokes και mouseclicks. Το τελικο script μπορεις να το κανεις και exe ωστε να τρεχει παντου, και φυσικα να το καλεις απο batch αμα χρειαστει. Με εχει σωσει πολλες φορες.

 

Γιατι ομως να μην χρησιμοποιησεις καποιο explorer replacement που εχει πολλα panes και μπορει αν καλειται αυτοματα στη θεση του explorer? Νομιζω το directory opus το κανει αυτο. Αν δεν ειναι αυτο σιγουρα υπαρχει αλλο αλλα δεν το θυμαμαι.

 

εχω δοκιμασει διαφορους dual pane αλλα τρωνε διαφορα κολληματα οταν μεταφερεις πολλα αρχεια

 

θα ψαξω το auto it

 

thanks

Δημοσ.

το sendkeys το ειχα δει,δεν βρισκω πουθενα το winkey εκτος του microsoft natural keyboard που δεν εχω

;;;;

The following table lists the special keys that can be sent (each key name must be enclosed in braces):

 

#: Sends a WIN keystroke, therefore Send #e would hold down the Windows key and then press the letter "e".

.

.

.

.

.

{LWin} Left Windows key

{RWin} Right Windows key

 

Δεν χρειάζεται καν να τα έχεις αυτά τα πλήκτρα,γράφοντας π.χ. {LWin} είναι σαν να πατάς το αριστερό Win(start).

Δημοσ.

auto it

 

>Run("explorer.exe shell:MyComputerFolder")

εκκινει το my computer

>WinWaitActive("[CLASS:explorer]")

περιμενει να φορτωθει ο explorer

>Send("{LWIN}+{LEFT}")

στελνει στο παραθυρο που ειναι στο προσκηνιο συνδιασμο πληκτρων (winkey και βελακι αριστερα)

 

μια βοηθεια καποιος να το κανω να δουλεψει

Δημοσ.

Αυτο που θες με το snap left και right τα παραθυρα γινεται μονο στα windows 7 ε? Στα XP που εχω εδω δεν γινεται.

 

Που ακριβως κολλαει το θεμα? Μηπως δεν σου ανοιγει δευτερο παραθυρο?

Για δοκιμασε εκει που εχεις τη γραμμη

explorer.exe shell:MyComputerFolder τη δευτερη φορα για το αλλο παραθυρο να δωσεις path να σου ανοιξει σε καποιο αλλο φακελο.

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

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

 

Αυτα για την ωρα, χωρις να εχω autoit εδω.

Δημοσ.

Run("explorer.exe shell:MyComputerFolder")

WinWait("Computer")

Send("#{LEFT}")

Run("explorer.exe shell:MyComputerFolder")

WinWait("Computer")

Send("#{RIGHT}")

 

Ο κωδικας δουλευει σωστα με το πρωτο my computer,το κακο ειναι οτι οταν τρεξει ο δευτερος ολα γινονται centered παλι

 

καταλαβα τι γινεται,πρεπει να βρω εναν τροπο να ερχεται στο foreground το δευτερο my computer

 

 

edit

 

 

δουλεψεεεεεε! με τριπλα:)

 

Run("explorer.exe shell:MyComputerFolder")

Run("explorer.exe shell:MyComputerFolder")

WinWait("Computer")

Send("#{LEFT}")

Send("!{TAB}")

Send("#{RIGHT}")

 

αν καποιος θελει το εκτελεσιμο ας πει να το ανεβασω rapid

 

bspus ευχαριστω μαν

Δημοσ.

Ωραια :)

 

Με το tab λοιπον αλλαζεις το focus στο δευτερο παραθυρο. Αν ανοιγαν αλλο path θα μπορουσες να τα εντοπισεις ονομαστικα για μεγαλυτερη σιγουρια. Αλλα αφου σου δουλευει και ετσι ενταξει.

 

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

Δημοσ.

δεν δουλευει παντα σωστα και το ζητημα ειναι να δουλευει ακομα και αν προυπαρχει καποιος αλλος explorer

 

πρεπει να ανοιξω συγκεκριμενα folders και μετα να στελνω keystrokes ειδικα στο καθενα

 

θα το φτιαξω που θα παει

Δημοσ.

Αν θελετε τσεκαρετε το σε διαφορες συνθηκες,δουλευει ανοιγοντας το My Computer και το C:

 

ps δοκιμασα με controlSend αλλα δεν δουλευει σωστα με τα arrow keys

 

 

>Run("explorer.exe shell:MyComputerFolder")
WinWaitActive("Computer")
ControlFocus("Computer", "", "")
Send("#{LEFT}")
Run("explorer.exe C:")
WinWaitActive("C:")
ControlFocus("C:", "", "")
Send("#{RIGHT}")

 

το εκτελεσιμο

http://www.megaupload.com/?d=C78JW5Q2

Δημοσ.

Το δευτερο παραθυρο δεν μου κανει σναπ στα δεξια. Ανοιγει και μενει ετσι

 

Επισης το process παραμενει στο task manager. Τα κλεινω μετα χειροκινητα

Δημοσ.

Το δευτερο παραθυρο δεν μου κανει σναπ στα δεξια. Ανοιγει και μενει ετσι

 

Επισης το process παραμενει στο task manager. Τα κλεινω μετα χειροκινητα

 

ναι το τσεκαρα σε δευτερο υπολογιστη,απο οτι ειδα το c: δεν εχει το ιδιο ονομα σε ολα τα pc

 

το process δεν κλεινει γιατι δεν ολοκληρωνεται η εργασια

 

 

αν το θες μπορω να το φτιαξω αν μου πεις το ονομα του window οταν βρισκεσαι στο c: με το info tool του autoit

 

βασικα πρεπει να αλλαχτουν τα κοκκινα με τα σωστα

 

Run("explorer.exe shell:MyComputerFolder")

WinWaitActive("Computer")

ControlFocus("Computer", "", "")

Send("#{LEFT}")

Run("explorer.exe C:")

WinWaitActive("C:")

ControlFocus("C:", "", "")

Send("#{RIGHT}")

Δημοσ.

Φανταζομαι το προβλημα ειναι οτι το παραθυρο σε μενα ονομαζεται Local Disc (C:\).

Το ζητημα ειναι να μην χρειαζεται ειδικη εκδοση του προγραμματος για καθε PC.

 

Αλλοι φακελοi δεν εχουν αυτο το προβλημα. Πχ c:\windows ονομαζεται απλως windows στο info tool. Επειδη ειναι λιγο ασχημο ομως να σου ανοιγει μεσα εκει δες αν μπορεις να το φτιαξεις να βρισκει το ονομα του χρηστη και να σου ανοιγει τα εγγραφα του η το homefolder του ως δευτερο παραθυρο.

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

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

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