30Aug

Μετατροπή δέσμης ενεργειών δέσμης( 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" SETConfig = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Αφαιρέστε τα υπάρχοντα αρχεία αν υπάρχει EXIST% OutputFILE% DEL% OutputFile% REM Δημιουργία αρχείου προέλευσης ECHO "% ~ dpnx1" & gt;% SourceFiles%: AddInclude ΕΑΝ{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt; & gt;% SourceFiles% SHIFT / 2 GOTO ΠροσθήκηInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Δημιουργία αρχείου ρυθμίσεων ECHO;! @ Install @! UTF-8!& gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ InstallEnd @!& gt;% Config% REM Κατασκευάστηκε EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Καθαρίστε αν υπάρχει EXIST% SourceFiles% DEL% SourceFiles% ΕΑΝ ΥΠΑΡΧΕΙ% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Συμπέρασμα

Είναι σημαντικό να σημειωθεί ότι ενώ το αρχείο που προκύπτει τρέχει ακριβώς το ίδιο με το αρχείο BAT πηγής, αυτό δεν είναι μια πραγματική παρτίδα προς εκτελέσιμη μετατροπή.Το αρχείο που προκύπτει είναι ένα EXE, ωστόσο προορίζεται να χρησιμοποιηθεί για εγκαταστάτες αυτοεξαγωγής.Όταν εκτελέσετε το αρχείο EXE που προκύπτει, η διαδικασία γίνεται κάτι τέτοιο:

  1. Τα περιεχόμενα του αρχείου EXE εξάγονται στον κατάλογο Temp.
  2. Το αρχείο ρυθμίσεων που δημιουργείται από το σενάριο διαβάζεται.
  3. Το αρχείο δέσμης που περιέχεται στο αρχείο EXE εκτελείται σε ένα νέο παράθυρο εντολών.
  4. Αφού τελειώσετε, τα αρχεία temp καταργούνται.

Στα Windows Vista και στα νέα λειτουργικά συστήματα, ενδέχεται να εμφανιστεί το ακόλουθο πλαίσιο μηνύματος μετά την εκτέλεση του σεναρίου.Αφού επιλέξετε "Αυτό το πρόγραμμα έχει εγκατασταθεί σωστά", το πλαίσιο μηνύματος δεν θα εμφανιστεί στο μέλλον για αυτό το αρχείο.

Επειδή το αρχείο EXE εκκινείται σε νέο παράθυρο, ο τυπικός τρόπος καταγραφής της εξόδου( χρησιμοποιώντας το char '& gt;) δεν θα λειτουργήσει όπως αναμένεται.Για να καταγράψετε την έξοδο, θα χρειαστεί να χειριστείτε αυτό το native στο script πηγαίου κώδικα.

Παρά τις μικρές αυτές δυσκολίες, η δυνατότητα μετατροπής ενός αρχείου δέσμης σε ένα εκτελέσιμο μπορεί να έρθει πραγματικά χρήσιμο.

Σύνδεσμοι

Λήψη Δημιουργία EXE από BAT Script από Sysadmin Geek

Λήψη εργαλείου γραμμής εντολών 7-Zip

Λήψη 7-Zip Advanced 7zSD SFX