it-swarm.dev

Komut istemini yarasa dosyamdan nasıl küçültebilirim?

Bu yarasa dosyasına sahibim ve çalıştırdığımda cmd penceresini simge durumuna küçültmek istiyorum:

@echo off
cd /d C:\leads\ssh 
call C:\Ruby192\bin\setrbvars.bat
Ruby C:\leads\ssh\put_leads.rb

Temelde komut penceresinin hemen küçültülmesini istiyorum. Bunun nasıl yapılacağı hakkında bir fikriniz var mı?

34
Matt Elhotiby

Küçültülmüş bir senaryoyu küçültmek için oldukça ilginç bir yol var. Komut dosyanızın başına konacak kod:

if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0" %* && exit
... script logic here ...
exit

Nasıl çalışır

Betik çalıştırılırken IS_MINIMIZED tanımlanmadı (if not DEFINED IS_MINIMIZED):

  1. IS_MINIMIZED , 1 : set IS_MINIMIZED=1 olarak ayarlandı.
  2. Script start command && start "" /min "%~dpnx0" %* komutunu kullanarak kendi kopyasını başlatır.

    1. "" - pencerenin boş başlığı.
    2. /min - simge durumuna küçültülmüş çalıştırmaya geç.
    3. "%~dpnx0" - betiğinizin tam yolu.
    4. %* - betiğinizin tüm parametrelerini geçerek.
  3. Sonra ilk komut dosyası çalışmasını bitirir: && exit.

Komut değişkeninin başlatılan kopyası için IS_MINIMIZED orijinal komut dosyası tarafından ayarlanır, böylece ilk satırın çalışmasını atlar ve doğrudan komut dosyası mantığına gider.

Uyarılar

  • Bayrak olarak kullanmak için bazı değişken adlarını ayırmanız gerekir.
  • Komut dosyası exit ile bitmelidir, aksi halde komut dosyası yürütüldükten sonra cmd penceresi kapanmaz.
  • Komut dosyanızın argümanları kabul etmemesi durumunda, argümanı değişken yerine bayrak olarak kullanabilirsiniz:

    if "%1" == "" start "" /min "%~dpnx0" MY_FLAG && exit veya daha kısa if "%1" == "" start "" /min "%~f0" MY_FLAG && exit

55
izzekil

Minimize edilmiş çalıştırmak için /min anahtarı ile start komutunu kullanın. Örneğin:

start /min C:\Ruby192\bin\setrbvars.bat

Bir toplu iş dosyasını argüman olarak belirlediğinizden, komut işlemcisi /k anahtarını kullanarak çalıştırılır. Bu, komut tamamlandıktan sonra pencerenin ekranda kalacağı anlamına gelir. Bu davranışı açıkça cmd.exe komutunu çalıştırarak ve gerekirse uygun anahtarları geçirerek değiştirebilirsiniz.

Alternatif olarak, toplu iş dosyasına bir kısayol oluşturabilirsiniz (PIF dosyaları hala buralardadır) ve sonra özelliklerini en aza indirgenecek şekilde değiştirebilirsiniz. 

38
Cody Gray

Bildiğim tek yol, toplu iş dosyasına bir Windows kısayolu oluşturmak ve ardından varsayılan olarak simge durumuna küçültülecek şekilde özelliklerini değiştirmek.

15
Bruno Silva

PowerShell kullanarak, yeni bir örnek açmadan aynı dosyadan küçültebilirsiniz.

powershell -window minimized -command ""

Ayrıca -window hidden ve -window normal tamamen gizlemek veya geri yüklemek için kullanılabilir.


kaynak: https://stackoverflow.com/a/45061676/1178975

3
user1cat

Eğer Win-Run/autostart için partiyi başlatmak istiyorsanız, burada I Nice çözümünü buldum https://www.computerhope.com/issues/ch000932.htm & https://superuser.com/ sorular/364799/nasıl yapılır-komut-komut istemi simge durumuna küçültülmüş

cmd.exe /c start /min myfile.bat ^& exit
  • cmd.exe gereklidir, çünkü başlangıç, toplu iş dışında yürütülebilen bir Windows komutu değildir.
  • /c = başlangıç ​​bittikten sonra çıkış
  • ^& exit bölümü, parti exit ile bitmiyor olsa bile pencerenin kapanmasını sağlar

Ancak, ilk cmd hala en aza indirgenmedi.

3
Pedi T.

Konsol penceresini istediğiniz zaman simge durumuna küçültebilecek bir başka ücretsiz üçüncü taraf aracı (yalnızca betiği başlatırken değil) TWAPI uzantısına sahip:

echo package require twapi;twapi::minimize_window [twapi::get_console_window] | tclkitsh -

burada tclkitsh.exe PATH içindedir ve sourceforge.net/projects/twapi/files/Tcl binaries/Tclkits adresinden TWAPI/ ile yüklenebilen tclkit-cli-*-twapi-*.exe dosyalarından biridir. Bernard Chen'in cevabında 'de belirtilen daha hafif min.exe' u tercih ederim çünkü TWAPI'yi zaten sayısız başka amaçlar için kullanıyorum.

1
robert4

Bu metni yarasa dosyanıza yazarsanız:

start blah.exe /min

Programı açtığı anda derhal en aza indirecektir. Sadece kısa bir flaş göreceksiniz ve kaybolacak.

1
Kyroflash

Seçeneklerden biri, o anda çalışan konsol penceresinin pencere durumunu değiştirebilecek ve toplu komut dosyasından bir çağrı yapabilecek çeşitli yardımcı programlardan birini bulmaktır.

Toplu betiğinizde ilk şey olarak çalıştırabilirsiniz. İşte böyle iki araç:

min.exe http://www.paulsadowski.com/wsh/cmdprogs.htm

cmdow http://www.commandline.co.uk/cmdow/index.html

1
Bernard Chen

Çalıştırma sırasında Aç komutunu küçültebilirsiniz, ancak iki ek komut dosyasına ihtiyaç duyarsınız: windowMode ve getCmdPid.bat :

@echo off

call getCmdPid
call windowMode -pid %errorlevel% -mode minimized

cd /d C:\leads\ssh 
call C:\Ruby192\bin\setrbvars.bat
Ruby C:\leads\ssh\put_leads.rb
0
npocmaka

Benim için iyi çalışan bir diğer seçenek ConEmu kullanmaktır, bakınız http://conemu.github.io/en/ConEmuArgs.html

"C:\Program Files\ConEmu\ConEmu64.exe" -min -run myfile.bat
0
Pedi T.

Cmd penceresini 'küçültmenin' bir yolu, konsolun boyutunu küçültmek ...

echo DO NOT CLOSE THIS WINDOW
MODE CON COLS=30 LINES=2

İsterseniz COLS'yi yaklaşık 18'e ve LINES'i 1'e düşürebilirsiniz .. __ Avantajı WinPE, 32-bit veya 64-bit altında çalışması ve herhangi bir 3. parti yardımcı program gerektirmemesidir.

0
SSi

Bir pencereyi komut isteminde açtıktan sonra bir komut istemi penceresinden küçültmenin bir yolu olup olmadığını bilmiyorum, ancak aşağıdaki makale asıl işleminizi çocukken yeni, küçültülmüş bir pencerede ortaya koymanızı önerir.

http://www.pcreview.co.uk/forums/command-Prompt-tool-minimize-command-window-after-starts-t2037434.html

0
Mr Griever

Bir betiği aşağıdaki şekilde çalıştırmayı deneyebilirsiniz

var WindowStyle_Hidden = 0
var objShell = WScript.CreateObject("WScript.Shell")
var result = objShell.Run("cmd.exe /c setrbvars.bat", WindowStyle_Hidden)

dosyayı filename.js olarak kaydedin

0
PatchedUp