Μετατροπή δέσμης ενεργειών δέσμης (BAT) σε εκτελέσιμο αρχείο (EXE)
Όταν κατεβείτε σε αυτό, τα αρχεία δέσμης και τα εκτελέσιμα αρχεία λειτουργούν σχεδόν με τον ίδιο τρόπο. Και οι δύο είναι απλά ένα σύνολο οδηγιών και λογικών για την εκτέλεση των Windows. Γιατί θα θέλατε να μετατρέψετε ένα αρχείο δέσμης σε ένα εκτελέσιμο αν λειτουργούν ουσιαστικά το ίδιο; Εδώ είναι μερικοί λόγοι:
- Φορητότητα - μπορείτε να συμπεριλάβετε πρόσθετα εργαλεία στο αρχείο EXE που εξαρτάται από το αρχείο δέσμης.
- Προστασία - ένα EXE παρέχει προστασία για το σενάριο προέλευσης για να διασφαλίσει ότι δεν τροποποιείται ακούσια.
- Ευκολία - Τα εκτελέσιμα αρχεία μπορούν να συνδεθούν στο μενού Έναρξη των Windows ή / και στη γραμμή εργασιών των Windows 7.
Με το παρακάτω σενάριο, μπορείτε εύκολα να δημιουργήσετε το δικό σας εκτελέσιμο αρχείο από ένα αρχείο δέσμης, το οποίο θα περιλαμβάνει και ενσωματωμένα εργαλεία που απαιτούνται.
Διαμόρφωση
Αυτό το σενάριο εκμεταλλεύεται ένα εξελιγμένο SFX 7-Zip (SelF eXtractor) για τη δέσμευση και εκτέλεση του αρχείου δέσμης με όλα τα εργαλεία που περιλαμβάνονται. Έτσι θα χρειαστεί να κατεβάσετε (συνδέσεις που παρέχονται στο τέλος) αυτές και να τις εξαγάγετε σε έναν ενιαίο κατάλογο.
Αφού έχετε κατεβάσει τα πάντα, ορίστε τη μεταβλητή 'PathTo7Zip' στη δέσμη ενεργειών στη θέση όπου αυτά τα αρχεία από τα οποία έχουν ληφθεί.
Το σενάριο
@ECHO OFF ECHO Κάνε EXE από την BAT ECHO Γράφει ο / η: Jason Faulkner ECHO SysadminGeek.com ECHO. ΗΧΩ. Χρήση REM: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Απαιτούμενες παράμετροι: REM BatFileToConvert REM αρχείο παρτίδας πηγής που χρησιμοποιείται για την παραγωγή του αρχείου Exe εξόδου. REM REM Προαιρετικές παράμετροι: REM IncludeFile REM Πρόσθετα αρχεία που συμπεριλαμβάνονται στο αρχείο Exe. REM Μπορείτε να συμπεριλάβετε τα εξωτερικά εργαλεία που χρησιμοποιούνται από το αρχείο δέσμης έτσι ώστε να είναι διαθέσιμα στο μηχάνημα εκτέλεσης. Ρυθμίσεις SETLOCAL REM (δεν χρειάζονται εισαγωγικά): SET PathTo7Zip = REM ---- Μη τροποποιήσετε τίποτα κάτω από αυτή τη γραμμή ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Αφαιρέστε τα υπάρχοντα αρχεία Αν υπάρχει EXIST% OutputFILE% DEL% OutputFile% REM Δημιουργία αρχείου προέλευσης ECHO "% ~ dpnx1">% SourceFiles% ΕΑΝ % 2 == GOTO Ενεργοποίηση του ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @ SourceFiles% ·! @ Install @! UTF-8! >% Διαμόρφωση% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Δημιουργία EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Καθαρισμός αν υπάρχει EXIF% SourceFiles% DEL% SourceFiles% ΕΑΝ EXIST% Config% DEL% Config % ΑΝ ΥΠΑΡΧΕΙ% Source7ZFile% DEL% Source7ZFile% ENDLOCAL
συμπέρασμα
Είναι σημαντικό να σημειωθεί ότι ενώ το αρχείο που προκύπτει τρέχει ακριβώς το ίδιο με το αρχείο BAT πηγής, αυτό δεν είναι μια πραγματική παρτίδα σε εκτελέσιμη μετατροπή. Το αρχείο που προκύπτει είναι EXE, ωστόσο προορίζεται να χρησιμοποιηθεί για εγκαταστάτες αυτοεξαγωγής. Όταν εκτελέσετε το αρχείο EXE που προκύπτει, η διαδικασία γίνεται κάτι τέτοιο:
- Τα περιεχόμενα του αρχείου EXE εξάγονται στον κατάλογο temp.
- Εμφανίζεται το αρχείο ρυθμίσεων που δημιουργείται από το σενάριο.
- Το αρχείο δέσμης που περιέχεται στο αρχείο EXE εκτελείται σε ένα νέο παράθυρο εντολών.
- Μόλις τελειώσετε, τα αρχεία temp καταργούνται.
Στα Windows Vista και στα νέα λειτουργικά συστήματα, ενδέχεται να εμφανιστεί το ακόλουθο πλαίσιο μηνύματος μετά την εκτέλεση της δέσμης ενεργειών. Αφού επιλέξετε "Αυτό το πρόγραμμα έχει εγκατασταθεί σωστά", το πλαίσιο μηνύματος δεν θα εμφανιστεί στο μέλλον για αυτό το αρχείο.
Επειδή το αρχείο EXE εκκινείται σε νέο παράθυρο, ο τυπικός τρόπος καταγραφής της εξόδου (χρησιμοποιώντας το char>) δεν θα λειτουργήσει όπως αναμένεται. Για να καταγράψετε την έξοδο, θα χρειαστεί να χειριστείτε αυτό το εγγενές σε πηγή script σας.
Παρά αυτές τις δευτερεύουσες ενοχλήσεις, η δυνατότητα μετατροπής ενός αρχείου δέσμης σε ένα εκτελέσιμο μπορεί να έρθει πραγματικά χρήσιμο.
Συνδέσεις
Κάντε λήψη του EXE από το BAT Script από το Sysadmin Geek
Κατεβάστε το εργαλείο γραμμής εντολών 7-Zip
Κάντε λήψη του 7-Zip Advanced 7zSD SFX