Bagaimana cara mengaitkan tipe file dengan VBScript

3

Pertanyaan ini merupakan tindak lanjut alami untuk Bagaimana menjalankan file batch tanpa meluncurkan "jendela perintah"?

Seseorang dapat mengaitkan misalnya file .txt dengan Wordpad dengan membuka dialog Properties dari file txt dan menekan tombol Ubah di sebelah "Buka dengan ..." dan memilih Wordpad. Jika saya melakukan hal yang sama dengan file VBScript (bukan Wordpad), yaitu, jika saya mengaitkan file .txt dengan VBscript dan mencoba untuk membuka file terkait (file txt), Windows menunjukkan sembulan mengatakan

This app can't run on your PC ...

Kutipan lengkap dan tangkapan layar persis sama dengan yang ada di utas ini

Saya menduga pesan kesalahan ini mungkin karena beberapa jenis fitur keamanan Windows 8 untuk mencegah pengguna dari diperdaya untuk menjalankan skrip yang buruk, tetapi skrip vbs dibuat sendiri di mesin yang sama, dan saya ingin tahu apakah ada cara mengatakan "Aku menulis ini. Kamu bisa mempercayai naskah ini." ke Windows. Script berjalan dengan baik jika saya menjalankannya secara langsung (dengan mengklik dua kali atau mengetuknya), atau jika saya seret dan jatuhkan file txt ke skrip.

Jisang Yoo
sumber
1
Sepenuhnya mungkin untuk menjalankan file VBScript pada Windows 8 di luar kotak. Asosiasi ekstensi file Anda tampaknya salah. sevenforums.com/tutorials/... Saya tidak dapat membuat kembali masalah ini jadi ini adalah file asosiasi Anda yang menjadi masalah.
Ramhound
Saya setuju dengan Ramhound, kecuali jika Anda mencoba melakukan sesuatu yang istimewa seperti membuka file VBScript dengan peluncur khusus atau sesuatu. Jika Anda hanya ingin mengeksekusi file .vbs biasa dengan interpreter WScript bawaan, maka asosiasi file Anda untuk vbs disembunyikan dan Anda harus memperbaikinya.
allquixotic
@Ramhound Mengunduh dan menerapkan reg VBS tampaknya tidak memperbaikinya. Jika saya mengaitkan .foofile dengan skrip VBS saya, dan kemudian mencoba untuk membuka .foofile, Windows 8 masih mengatakan pesan kesalahan yang sama.
Jisang Yoo
Saya dapat menggunakan "buka dengan" pada file .vbs dengan wordpad dan notepad. Saya dapat mengklik dua kali file dan berlari. Tidak jelas apa yang Anda maksud dengan membuka file .foo DENGAN file VBS Anda. .vbs ADALAH tipe file. Mengapa Anda mencoba mengaitkan .foo menjadi file VBS?
Ramhound
Apa yang ingin saya capai pada akhirnya adalah mengaitkan .txtdan .foofile dengan GNU Emacs dalam beberapa cara khusus. Ini memerlukan pengaitkan file dengan emacsclientw.exe dengan cara yang beberapa opsi baris perintah selalu diteruskan ke emacsclientw.exe. Salah satu cara untuk mencapai ini adalah dengan membuat file batch yang berisi garis seperti path\to\emacsclientw.exe --some-options %*dan kemudian mengaitkan file foo dengan skrip batch. Tapi sekarang sedikit masalah adalah bahwa file batch akan meluncurkan jendela cmd (yang menghilang dalam hitungan detik, jadi bukan masalah besar). ..
Jisang Yoo

Jawaban:

1

Alih-alih menggunakan file VBscript Anda, coba gunakan Nirsoft FileTypesMan untuk mengubah argumen baris perintah yang digunakan file .txt dan .foo saat meluncurkan emacs.exe

Pertanyaan ini mirip dengan Menambahkan opsi baris perintah default saat membuka jenis file tertentu

GrossT
sumber
Ini memang memecahkan masalah X saya. Di sisi lain, saya tidak akan menandainya sebagai duplikat, karena solusi untuk masalah Y akan bermanfaat bagi orang lain: seseorang mungkin ingin memberikan argumen baris perintah yang berubah pada saat run time atau ingin menggunakan VBscript yang melibatkan logika kondisional seperti "jika ada sesuatu yang benar, buka file teks dengan wordpad, jika tidak buka dengan notepad, dan snap jendela ke kiri jika bla bla.". Solusi untuk Y juga akan membuatnya mudah untuk membuat beberapa "buka dengan emacs dengan opsi 1", "buka dengan emacs dengan opsi 2", ...
Jisang Yoo
1

Saya juga punya masalah yang mengharuskan jenis file dibuka melalui explorer dengan skrip (vbscript) dan telah menemukan solusi, Anda hanya perlu mengedit registri.

  1. Buka kunci registri berikut untuk filetype Anda: HKCR \ YourfileType \ Shell \ Open \ Command
  2. Edit kunci (Default) dan masukkan sesuatu seperti string ini

    C: \ Windows \ System32 \ cscript.exe "C: \ PathToyourScript \ Script.vbs" "% 1"

% 1 meneruskan nama file ke skrip sebagai parameter

Ini bekerja dengan baik untuk kebutuhan saya tetapi Anda mungkin perlu mengujinya. Semoga berhasil!

Julius
sumber