Zorunlu yeni satırlar olmadan Windows Komut isteminden birden çok satırı kopyalama


16

Windows Komut İstemi'nden, her satırın terminalin sonuna ulaştığı yeni bir satır eklemeden birden çok satır kopyalamak mümkün müdür?

Örneğin, konsolda şu satır varsa:

c:\very_long_path_here\more_path_here>command_i_want_to_copy -with -some
arguments that wrap over lines.

Bunu seçip kopyalarsam, 'bazı' sözcüğünden sonra elle silmek zorunda kalacağım bir yeni satır alırım.

Verileri (ayrıştırılacak komut, yazdırılan çıktı) sert sarılı çizgilerle değil, yorumlandığı / yazdırıldığı biçimde kopyalamanın bir yolu var mı?


1
Win 7/8'de clip.exegirişi panoya yönlendiren bir var . Gibi kullanabilirsiniz c:\> echo your -command | clip.exe. Ama bir komut çıkışı için daha uygun ..
Hafta

afaik bunu yapacak şekilde inşa edilmiş değil. ancak hedefinizi arşivlemek için kısa bir autoit komut dosyası gibi bir şeyi clip.exe ile birleştirebilirsiniz
Weberik

1
Windows 10'dan bu yana varsayılan davranış satır seçimini daha fazla sorun
olmayacak

Yanıtlar:


13

Windows Komut İstemi bu açıdan kötü bir şekilde kırılmıştır. Linux Terminal davranışını elde etmek mümkün değildir (en azından Luu'nun açıklamasına göre Windows 10 öncesi için).

Ancak, cmd.exe'de yardımcı olan belirsiz bir özellik vardır: Seçili alana (kopyalamak için) sağ tıklarken kaydırmayı basılı tutmak, kopyalanan metindeki TÜM yeni satırları kaldıracaktır.

Tek bir uzun komut satırı (birden çok terminal satırını kapsayan) seçmek isterseniz, bu istediğinizi yapar. Bununla birlikte, her zaman tüm yeni satırları kaldıracaktır, bu nedenle mantıklı bir şekilde birden fazla komut satırı (veya bir komut dosyası) seçmek mümkün değildir.

Ayrıntılı prosedür:

  • Farenin sol düğmesini kullanarak uzun komut satırı seçin
  • Aşağı kaydırmaya basın
  • Seçilen alana sağ tıklayın (kopyalamak için)
  • Vardiyayı bırak
  • Şimdi seçilen metin satır satırları olmadan kopyalama arabelleğinde ve örneğin sağ fare düğmesini kullanarak tekrar cmd.exe'ye yapıştırabilirsiniz

İlginçtir, bu özelliği hiç duymamıştım. Görünüşe göre bu alacağı kadar iyi. Artık pencereleri kullanmıyorum, ancak onaylama şansı bulduğumda bu yanıtı kabul edeceğim. :-)
Adam Millerchip

1
Windows 10'dan beri varsayılan olarak Linux davranışı alacaksınız
phuclv

... öyleyse "Linux Terminal davranışını elde etmek mümkün değil" yanlış
phuclv

@Luu: Windows 10 hakkında bilgi eklediğiniz için teşekkür ederiz. Peki 'varsayılan olarak' ile ne demek istiyorsun? Bu, Windows 10 öncesi sistemler için alternatif olmayan bir davranış olduğunu gösterir, ki bu yoktur, bu nedenle yorumunuz yanıltıcıdır. Ayrıca: Windows 10'u kim kullanıyor? (SCNR)
Johannes

1
Windows 10 kullanıyorum ve komutların çıktısını kopyalarken çalışır , ancak komut isteminden ifadeleri kopyalarken çalışmaz. Örnek: 1) Komut isteminde birden çok satıra yayılan bir komut yazın; 2) kopyalayın - istenmeyen NewLines panoya da gidecektir).
Ivan Akcheurov

3

Başka bir seçenek, konsol penceresinin başlık çubuğunun içerik menüsünü açmak, Özellikler'e gitmek ve ekran arabellek genişliğini işlerin sarılmayacak kadar geniş yapmaktır. (9999, maksimum değer gibi görünüyor.)

Bunu çok yapmak zorundaysanız, bu seçeneği Özellikler yerine Varsayılanlar'da değiştirebilirsiniz.

Tabii ki, satırlar 9999 karakterden uzunsa bu yöntem bozulur.


1
Güzel fikir de! Kullanması daha az belirsiz, ancak daha az görünürlük.
Johannes Overmann

1
@Abraxas Cevabı daha ayrıntılı olarak yeniden yazdım.
1j01

0

Bunu Windows 10 için etkinleştirmek için:

Bir "cmd" veya "Windows Powershell" penceresiyle özelliklere gidin (sol üstteki simgeye tıklayın) ve "Satır kaydırma seçimini etkinleştir" seçeneğini seçin.

Did Benim Powershell istemi değil bu var benim için hile yaptı sağlayan sağladı.


-2

Kodu not defterine kopyalayın, ardından menü çubuğuna tıklayın, Formatardından tıklayınWord Wrap


-4

SET'i kullanın ve sonra ifadedeki parçaları birleştirin. Ayrıca bu amaçlar için toplu iş dosyası veya makro yapabilirsiniz.

@set WAIKTools=%ProgramFiles%\WAIK\Tools\amd64
@set LabelCD=GRTMPVOL_RU

@IF "%time:~0,1%" GTR "0" SET current=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%@%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%
@IF "%time:~0,1%" LSS "0" SET current=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%@0%TIME:~1,1%.%TIME:~3,2%.%TIME:~6,2%

"%WAIKTools%\oscdimg.exe" -h -m -n -l%LabelCD% -b"%cd%\boot\w32sp3.bif" "BUILD-%current%" "BUILD-%current%-ISO\%LabelCD%.ISO"

1
Bu cevabın soru ile ilgisi yoktur. Kopyalama bölümü nerede? Windows terminal kısmı nerede?
Johannes Overmann
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.