Pertanyaan ini sudah ada jawabannya di sini:
Saya bekerja dengan InstallAnywhere, program lama untuk membuat installer. Saya ingin menginstal file tertentu, hanya untuk Windows XP dan Windows Vista.
Karena keterbatasan InstallAnywhere, ini tidak mungkin. Saya hanya dapat memutuskan untuk menghapus file setelah diinstal, berdasarkan aturan.
Dalam aturan itu, saya dapat memeriksa platform tempat saya menjalankan, yang memberi saya kemungkinan untuk memeriksa Windows XP, Windows Vista, Windows 7, dll. Tetapi tidak untuk Windows 10. Saya tidak bisa mengatakan "Lakukan ini aksi ketika sistem bukan XP atau Vista ", jadi saya harus mengatakan" Lakukan tindakan ini pada semua platform tersebut, yang bukan XP atau Vista ".
Namun, saya dapat meluncurkan perintah baris perintah dan menangkap hasilnya, jadi inilah pertanyaan saya: apakah ada perintah yang dapat saya gunakan untuk menentukan apakah saya sedang bekerja pada sistem Windows 10?
sumber
winver
akan memunculkan dialog About Windows jika mengetikkan cmd atau Start. Apakah itu akan berhasil? Atau - stackoverflow.com/questions/1792740/…ver
. Misalnya, pada sistem Windows 7 saya mendapatkan "Microsoft Windows [Versi 6.1.7601]" yang memberi tahu saya bahwa saya menjalankan Windows 7 (yang memiliki nomor versi 6.1 ).Jawaban:
Apakah ada perintah untuk menentukan apakah saya sedang bekerja pada sistem Windows 10?
Anda bisa menggunakannya
wmic
.Perintah berikut akan mengembalikan versi Windows.
Contoh output:
Jika Anda ingin sedikit informasi lebih lanjut, Anda dapat menggunakan file batch berikut (GetOS.cmd), yang akan mengambil dan menampilkan:
Versi OS disimpan
%_os
, Versi Utama Paket Layanan disimpan%_sp%
, dan Arsitektur disimpan%_bits%
.Catatan:
Tidak sepenuhnya diuji karena saya tidak memiliki semua kombinasi OS dan Paket Layanan untuk mengujinya.
The
for
perintah mengambil hanya bagian 3 (token) dari OS. Ini akan berfungsi untuk versi desktop (jika Anda ingin membedakan Server 2008 dari versi lain, Anda perlu mencari solusi lain).%_os
akan ditetapkan ke salah satu dari nilai berikut:Server
,Vista
,7
,8
,8.1
atau10
.Contoh output:
Bacaan lebih lanjut
sumber
wmic os get Caption | findstr /V Caption
pause
sebelumendlocal
untuk memberi pengguna kesempatan untuk membaca output sebelum jendela ditutup. Apakah itu mengikuti untuk Anda juga?Saya tidak percaya selama ini dan tidak ada perintah ver
Ini berfungsi dalam pengalihan sehingga Anda bisa melakukannya
Tetapi Anda biasanya harus menulis "untuk ini dan semua versi yang akan datang" sehingga Anda lebih baik menghitung melalui yang sebelumnya.
sumber
ver
tidak tidak bekerja di PowerShell. IniCMD
spesifik.iex "ver"
ya!ver
bisa agak menyesatkan. Pada mesin saya duduk sekarang ini kembaliMicrosoft Windows [Version 6.1.7601]
. Tapi saya cukup yakin ini menjalankan Windows 7, bukan Windows 6.mendapat banyak info berguna seperti Sistem operasi, Jenis sistem (32/64 bit) dan begitu lama:
sumber
systeminfo
juga. Seperti yang dapat Anda lihat dari gambar di atas, ini akan menampilkan sistem operasi Anda serta informasi lain yang Anda butuhkan.systeminfo
memang memberikan informasi yang saya cari (maka upvote), tetapi butuh beberapa waktu (pada PC saya butuh lebih dari 15 detik). Karena itu saya telah memilihwmic
solusinya, ditemukan pada jawaban berikutnya.cmd /c systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Saya tidak punya pengalaman dengan InstallAnywhere tetapi ada dua opsi untuk melihat OS apa yang diinstal menggunakan baris perintah.
Menggunakan Cmd
Dengan menggunakan perintah
systeminfo.exe
, Anda dapat melihat hasil di bawah bidangOS Name
. Ini mungkin memberi Anda lebih banyak informasi daripada yang Anda butuhkan.Informasi lebih lanjut tentang perintah ini dapat ditemukan di Microsoft TechNet .
Powershell
Atau Anda dapat menggunakan skrip Powershell berikut yang akan mengembalikan informasi persis yang Anda inginkan.
sumber