Windows toplu işlemi: yeni satır olmadan yankı


231

echo -nÇıktının sonundaki satırsonunu bastıran Linux kabuk komutunun Windows toplu eşdeğeri nedir ?

Fikir bir döngü içinde aynı satıra yazmaktır.



2
Bu beni neredeyse deli var .. echoalabilir biliyordum -nama üzerinde cmd.exesadece işe yaramaz ^^
panny

11
@panny - Yaygın ada rağmen yankı, Windows ve Posix arasında aynı komut değildir. Nslookup ile aynı, farklı seçenekleri var. Bu nedenle, Windows ile ilgili bir soru bağlamında " echoalabileceğimi biliyordum" yorumu -nyanlış.
user66001

Yanıtlar:


236

Kullanarak setve /pnewline olmadan yankılayabilirsiniz parametre:

C:\> echo Hello World
Hello World

C:\> echo|set /p="Hello World"
Hello World
C:\>

Kaynak


86
İki ekstra cmd görevi oluşturduğundan boru çok yavaştır, daha hızlıdır <nul set /p =Hello. set /peşittir işaretini ilk karakter veya boşluk / sekme olarak yankılayamaz.
jeb

11
Sistemimde yaklaşık 15 kat daha hızlı
jeb

28
D sonra yabancı alanı önlemek için "Merhaba Dünya" etrafında tırnak ekleyin.
Brian

13
Uyarı: Bu ERRORLEVEL değerini 1 olarak değiştirecektir. @Xmechanix tarafından verilen cevaba bakınız.
CoperNick

6
@ user246694 < nul, NULcihazdan bir yönlendirmedir . Hiçbir şey set /p
içermiyor

100

Kullanarak: echo | set /p=veya <NUL set /p=her ikisi de yeni satırı bastırmak için çalışır.

Ancak, ERRORLEVEL'i kontrol ederken set /p=değişken bir ad belirtmeden ayar yapmak ERRORLEVEL değerini 1 olarak ayarlayacağından daha gelişmiş komut dosyaları yazarken çok tehlikeli olabilir .

Daha iyi bir yaklaşım, sadece kukla değişken adını şu şekilde kullanmak olacaktır:
echo | set /p dummyName=Hello World

Bu zor yolu bulmak zorunda gibi arka planda herhangi bir sinsi şeyler olmadan tam olarak ne istediğinizi üretecek, ama bu sadece borulu sürümü ile çalışır; <NUL set /p dummyName=Helloyine de ERRORLEVEL değerini 1'e yükseltir.


20
Uyarı: Bu komut ERRORLEVEL değerini 0 olarak ayarlar. ERRORLEVEL 0'dan büyükse ERRORLEVEL değerini 0 olarak değiştirir. Bu, daha gelişmiş komut dosyaları yazarken de tehlikeli olabilir. (ancak yanıt için +1)
CoperNick

Bu nedenle, bu koşullarda ortamınıza zarar vermemek için temel olarak bir IF ERRORLEVEL == 0 (...) ELSE (...) gerekir. Sheesh.
SilverbackNet

28

Basit SET / P yönteminin Windows sürümleri arasında biraz farklılık gösteren sınırlamaları vardır.

  • Öncü tırnak işaretleri kaldırılabilir

  • Önde gelen beyaz boşluklar soyulmuş olabilir

  • Satır aralığı =sözdizimi hatasına neden olur.

Daha fazla bilgi için http://www.dostips.com/forum/viewtopic.php?f=3&t=4209 adresine bakın .

jeb Çıktı metnindeki sorunların çoğunu satır aralığı olmadan, hatta önde gelen alanla bile çözen akıllı bir çözüm yayınladı veya = herhangi bir Windows sürümünde, yeni satır olmadan kesinlikle geçerli herhangi bir toplu dizeyi güvenle yazdırabilecek şekilde yöntemi geliştirdim XP'den itibaren. Unutmayın ki:writeInitializeYöntemin siteye iyi gönderilemeyen bir dize hazır bilgisi içerdiğini . Karakter dizisinin ne olması gerektiğini açıklayan bir açıklama eklenmiştir.

:writeVe :writeVaryöntemler zahmetli lider karakterleri içeren tek dizeleri Jeb'in KOPYA yönteminin benim değiştirilmiş bir sürümünü kullanarak yazılır şekilde optimize edilmiştir. Rahatsız edici olmayan dizeler daha basit ve daha hızlı SET / P yöntemi kullanılarak yazılır.

@echo off
setlocal disableDelayedExpansion
call :writeInitialize
call :write "=hello"
call :write " world!%$write.sub%OK!"
echo(
setlocal enableDelayedExpansion
set lf=^


set "str= hello!lf!world^!!!$write.sub!hello!lf!world"
echo(
echo str=!str!
echo(
call :write "str="
call :writeVar str
echo(
exit /b

:write  Str
::
:: Write the literal string Str to stdout without a terminating
:: carriage return or line feed. Enclosing quotes are stripped.
::
:: This routine works by calling :writeVar
::
setlocal disableDelayedExpansion
set "str=%~1"
call :writeVar str
exit /b


:writeVar  StrVar
::
:: Writes the value of variable StrVar to stdout without a terminating
:: carriage return or line feed.
::
:: The routine relies on variables defined by :writeInitialize. If the
:: variables are not yet defined, then it calls :writeInitialize to
:: temporarily define them. Performance can be improved by explicitly
:: calling :writeInitialize once before the first call to :writeVar
::
if not defined %~1 exit /b
setlocal enableDelayedExpansion
if not defined $write.sub call :writeInitialize
set $write.special=1
if "!%~1:~0,1!" equ "^!" set "$write.special="
for /f delims^=^ eol^= %%A in ("!%~1:~0,1!") do (
  if "%%A" neq "=" if "!$write.problemChars:%%A=!" equ "!$write.problemChars!" set "$write.special="
)
if not defined $write.special (
  <nul set /p "=!%~1!"
  exit /b
)
>"%$write.temp%_1.txt" (echo !str!!$write.sub!)
copy "%$write.temp%_1.txt" /a "%$write.temp%_2.txt" /b >nul
type "%$write.temp%_2.txt"
del "%$write.temp%_1.txt" "%$write.temp%_2.txt"
set "str2=!str:*%$write.sub%=%$write.sub%!"
if "!str2!" neq "!str!" <nul set /p "=!str2!"
exit /b


:writeInitialize
::
:: Defines 3 variables needed by the :write and :writeVar routines
::
::   $write.temp - specifies a base path for temporary files
::
::   $write.sub  - contains the SUB character, also known as <CTRL-Z> or 0x1A
::
::   $write.problemChars - list of characters that cause problems for SET /P
::      <carriageReturn> <formFeed> <space> <tab> <0xFF> <equal> <quote>
::      Note that <lineFeed> and <equal> also causes problems, but are handled elsewhere
::
set "$write.temp=%temp%\writeTemp%random%"
copy nul "%$write.temp%.txt" /a >nul
for /f "usebackq" %%A in ("%$write.temp%.txt") do set "$write.sub=%%A"
del "%$write.temp%.txt"
for /f %%A in ('copy /z "%~f0" nul') do for /f %%B in ('cls') do (
  set "$write.problemChars=%%A%%B    ""
  REM the characters after %%B above should be <space> <tab> <0xFF>
)
exit /b

1
Tüm karakterleri işleyebilen çok güçlü bir çözüm görmek güzel
jeb

2
Bilgisayar internete ağ bağlantısı varsa, kabaca bu kadar toplu kod python veya toplu iş kurtarabilirsiniz bilgisayarda başka bir şey indirmek ve yüklemek için kullanılabilir olduğunu belirtmek istiyorum. Parti eğlencelidir, ancak dize yetenekleri hafta sonu mücadelesi için en iyisidir.
n611x007

@ 6benham on line "echo (" işlevsel olarak "echo" ile aynıdır - daha önce görülmemiş
R

2
@SkipR - Evet, işlevsel olarak aynı olan ECHO., ancak ECHO.karanlık koşullar altında başarısız olabilir . Belirsiz durumlarda da başarısız olabilecek bir sürü başka form vardır. Her zaman çalışan tek kişi ECHO(.
dbenham

10

@ Xmechanix'in cevabına bir ek olarak, içeriği bir dosyaya yazarak fark ettim:

echo | set /p dummyName=Hello World > somefile.txt

Bunun , yazdırılan dizenin sonuna fazladan boşluk ekleyeceğini , özellikle yeni bir satır (başka bir boşluk karakteri) eklemekten kaçınmaya çalıştığımızdan .

Neyse ki, yazdırılacak dizeyi alıntılamak, yani:

echo | set /p dummyName="Hello World" > somefile.txt

Dizeyi sonunda herhangi bir satırsonu veya boşluk karakteri olmadan yazdıracaktır.


5
Eğer arasına boşluk koymak yoksa fazladan boşluk kaybolur Worldve >...
aschipfl

@aschipfl Denedi, değil.
Joan Bruguera

Set komutunun belgelenmemiş bir özelliği olan Quoted değişken Metodu, WIndows NT'nin tüm sürümlerinde (ve hatırlıyorsam 9x) çalıştığı için genellikle ona nasıl yaklaşılması gerektiğini görüyorum. Bu, Değişken adını tırnak işaretleri içinde değerin sonuna kaydırırsınız. Bu Set / P için de geçerlidir.
Ben Personick

1
IE: yankı | set / p "dummyName = Merhaba Dünya"> somefile.txt
Ben Personick

2
@aschipfl Tırnak işaretleri yapmazsanız ve pipo yaparsanız fazladan bir alan görünecektir. XXD biz mesela görebilmeleri için bir altıgen dökümü aracıdır set /p="abc"<nul|xxd -pgörüntüler 616263 oysa set /p=abc<nul|xxd -pverir61626320
barlop

9

SET / P'de soyulmuş beyaz boşluk için bir çözüm:

hile DOS için metin editörü EDIT çağırabileceğiniz backspace char olmasıdır . EDIT içinde oluşturmak için ctrlP + ctrlH tuşlarına basın . Buraya yapıştırırım ama bu web sayfası görüntüleyemez. Yine de Not Defteri'nde görünür (merkezde beyaz bir daire olan küçük bir siyah dikdörtgen gibi daha tuhaf)

Yani şunu yazıyorsunuz:

<nul set /p=.9    Hello everyone

Nokta herhangi bir karakter olabilir, SET / P'ye " Merhaba " değil, metnin boşluklardan önce başladığını söyler . " 9 " burada görüntüleyemediğim backspace karakterinin bir temsilidir. 9 yerine koymak zorundasınız ve " . " Siler, sonra bunu alırsınız:

    Hello Everyone

onun yerine:

Hello Everyone

Umut ediyorum bu yardım eder


2
Söylemeyi unuttum, Windows 7'de çalışıyor Komut satırında çalışmaz, sadece toplu olarak. Karakteri alamayan
Pedro

Yankı için de geçerli
Ben Personick

... Yani, oldukça kapsamlı bir arama yaptıktan sonra bunu internette HER YERDE bulamadım. Aslında bir şey keşfettiğim zaman ve aptalca şanslar olabilir. Bilmeyenler için cmd isteminizi eski moda getirip doğru yazı tipini kullanırsanız kontrol karakterleri girebilirsiniz. ... Ama bir şeyi bir dosyaya yönlendirirseniz veya> con da çalışır. Ciddi anlamda. Bu TAMAMEN komut isteminize yapıştırın: "echo ← c◙◙ ○○ Harharhar !! ◙ ○○ ------------- ◙◙ ○○ Ben en kötüyüm!?: '(○ ♪ ○ NOPE! • ♪ ○ Kendimi harika hissediyorum! Hazzah-le-oop! ◙◙ ○ Programcı beni duyuyorum ... bir şey. ◙ con ".
Brent Rittenhouse

Tamam, umarım bunu herkesten önce öğrendim ama ... bu görünüşte unicode kod sayfasında olmamasına bağlıdır. Başlangıç ​​değişkenini bir chcp 437 do değişkenine kaydedebilir, seti bir değişkene ayarlayabilir veya çıktısını alabilir ve sonra geri dönebilirsiniz (ve yine de çıktı vermelidir). Hala onunla oynuyorum.
Brent Rittenhouse

Ayrıca, ← c'nin neden ekranı temizlediğine dair bir fikri olan var mı ?! İnternette hiçbir yerde bunun bir örneğini bulamıyorum. Her iki karakter arasında da boşluk bırakabiliyor olsanız da, özellikle bu kombinasyon. Başka herhangi bir karakter için sadece .. ilk karakteri kaldırmak gibi görünüyor.
Brent Rittenhouse

7

Yeni satırı gnuwin32'den "tr" kullanarak kaldırabilirsiniz ( coreutils paketi)

@echo off
set L=First line
echo %L% | tr -d "\r\n"
echo Second line
pause

Bu arada, çok fazla komut dosyası yapıyorsanız, gnuwin32 bir altın madeni.


Ben de git bash yüklemenizi öneririm . Gnuwin32 ile aynı olmadığından emin olun (ve bu nedenle bir altın madeni) +1, sadece güzel bir kurulum ve başlat menüsü düğmesi de dahil olmak üzere hemen her yerde sağ fare düğmesinde git-bash var.
hakre

tr'deki gibi son boşluk karakterini kaldırmak için tr'yi kullanabilir misiniz trim?
panny

trim için sed kullanın: sed -e "s / * $ //"
BearCode

@panny - trim adında bir posix / linux util bulamıyorum. Ayrıca \r, \nveya \r\n(sırasıyla OSX, Posix ve Windows Yeni hat) "boşluk" karakterleri kullanılamaz.
user66001

5

İşte başka bir yöntem, -NoNewLine parametresine sahip olan Powershell Write-Host kullanır, bunu birleştirir start /bve toplu işten aynı işlevi sunar.

NoNewLines.cmd

@ECHO OFF
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 1 - ';Write-Host -NoNewLine 'Result 2 - ';Write-Host -NoNewLine 'Result 3 - '"
PAUSE

Çıktı

Result 1 - Result 2 - Result 3 - Press any key to continue . . .

Aşağıdaki bu biraz farklıdır, OP'nin istediği gibi çalışmaz, ancak ilginçtir, çünkü her sonuç bir sayacı taklit eden önceki sonucun üzerine yazar.

@ECHO OFF
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 1 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 2 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 3 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 4 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 5 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 6 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 7 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 8 - '"
start /b /wait powershell.exe -command "Write-Host -NoNewLine 'Result 9 - '"
PAUSE


2

Belki aradığınız budur, eski bir okul senaryosu ...: P

set nl=^& echo. 
echo %nl%The%nl%new%nl%line%nl%is%nl%not%nl%apparent%nl%throughout%nl%text%nl%
echo only in prompt.
pause

veya yeni bir satıra yazmak yerine geçerli bir satırı değiştirmeye çalışıyorsunuzdur? "." den sonra "% bs%" öğesini kaldırarak bunu deneyebilirsiniz. işareti ve ayrıca "Örnek mesaj" dan sonra diğer "% bs%" aralığını kaldırarak.

for /f %%a in ('"prompt $H&for %%b in (1) do rem"') do set "bs=%%a"
<nul set /p=.%bs%         Example message         %bs%
pause

Bunu gerçekten ilginç buluyorum çünkü yapması amaçlanandan başka bir amaç için bir değişken kullanıyor. gördüğünüz gibi "% bs%" bir geri tuşu temsil eder. İkinci "% bs%", "Örnek mesaj" dan sonra görünür bir karakter eklemeden "Örnek mesaj" dan sonra boşluk eklemek için "Örnek mesaj" dan sonra boşluk bırakmak için "Boşluk komutunun çıktısını" ayırmak için geri boşluk kullanır. Bununla birlikte, bu düzenli bir yüzde işareti ile de mümkündür.


2
Bu set nl=^& echo.numarayı her yerde görüyorum ve değişkenin adı yanıltıcı. % nl% bir yeni satır karakteri değildir : sonunda genişler, böylece her seferinde yeni bir komut çalıştırırsınız , dolayısıyla satırsonu. Yazılı olarak kontrol edebilirsiniz . Sen olsun hile açığa. Çıktı aynıdır, ancak önerdiğiniz nedenlerden ötürü değildir. &echo.echoecho "%nl%The%nl%new%nl%line%nl%is%nl%not%nl%apparent%nl%throughout%nl%text%nl%""& echo. The& echo. new& echo. line& echo. is& echo. not& echo. apparent& echo. throughout& echo. text& echo. "
cdlvcdlv

2

DIY cw.exe(konsol yazma) yardımcı programı

Kutudan çıktığı anda, rafta bulamazsanız, DIY yapabilirsiniz. Bu cwyardımcı program ile her türlü karakteri kullanabilirsiniz. En azından böyle düşünmek istiyorum. Lütfen stres testi yapın ve bana bildirin.

Araçlar

Tek ihtiyacınız olan .NET. olan, günümüzde çok yaygın olan yüklü.

Malzemeler

Yazılan / kopyalanan bazı karakterler.

adımlar

  1. .batAşağıdaki içeriğe sahip bir dosya oluşturun .
/* >nul 2>&1

@echo off
setlocal

set exe=cw
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d  /o:-n "%SystemRoot%\Microsoft.NET\Framework\*csc.exe"') do set "csc=%%v"

"%csc%" -nologo -out:"%exe%.exe" "%~f0"

endlocal
exit /b %errorlevel%

*/

using System;

namespace cw {
    class Program {
        static void Main() {
            var exe = Environment.GetCommandLineArgs()[0];
            var rawCmd = Environment.CommandLine;
            var line = rawCmd.Remove(rawCmd.IndexOf(exe),exe.Length).TrimStart('"');
            line = line.Length < 2 ? "\r" : line.Substring(2) ;
            Console.Write(line);
        }
    }
}
  1. Çalıştır.

  2. Şimdi silebilirsiniz güzel bir 4KB yardımcı program var .bat.

İsterseniz, herhangi bir toplu bir alt rutin olarak bu kodu ekleyebilirsiniz, ortaya çıkan göndermek .exeiçin %temp%sizin toplu kullanmak ve işiniz bittiğinde silin.

Nasıl kullanılır

Yeni satır olmadan bir şeyler yazmak istiyorsanız:
cw Whatever you want, even with "", but remember to escape ^|, ^^, ^&, etc. unless double-quoted, like in "| ^ &".

Bir satır başı döndürmek istiyorsanız (satır başına kadar),
cw

Bu yüzden bunu komut satırından deneyin:

for /l %a in (1,1,1000) do @(cw ^|&cw&cw /&cw&cw -&cw&cw \&cw)

Cevabınızdan ilham aldım ve Go ve Azure Boru Hatları için eşlik eden bu görevle birlikte bu küçük aracı oluşturdum . Sadece pipolanan stdout'u alır ve yapı tarafından alınacak belirli bir formatta çıkarır. Teşekkür ederim!
riezebosch

2

@Arnep'in fikrinden bir işlev yaptım:

echo | set / p = "Merhaba Dünya"

işte burada:

:SL (sameline)
echo|set /p=%1
exit /b

İle kullanın call :SL "Hello There"
Bu özel bir şey olduğunu biliyorum ama ben burada yazılan düşündüm düşünmek kadar uzun götürdü.


1

Örnek 1: Bu çalışır ve Çıkış kodu = 0 üretir. Bu iyi. "." , yankıdan hemen sonra.

C: \ Kullanıcılar \ phife.dog \ gitrepos \ 1 \ repo_abc \ scripts #
@echo. set / p JUNK_VAR = Bu, Linux echo -n tarafından görüntülenecek gibi görüntülenen bir mesajdır ... & echo% ERRORLEVEL%

Bu Linux yankı -n gibi gösterilecek bir mesaj ... 0

Örnek 2: Bu çalışır ancak Çıkış kodu = 1 üretir. Bu Kötü. Ekodan sonra "." Eksikliğine dikkat edin. Bu fark gibi görünüyor.

C: \ Kullanıcılar \ phife.dog \ gitrepos \ 1 \ repo_abc \ scriptler #
@echo | set / p JUNK_VAR = Bu, Linux echo -n tarafından görüntülenecek gibi görüntülenen bir mesajdır ... & echo% ERRORLEVEL%

Bu Linux yankı -n görüntüleyecek gibi görüntülenen bir mesajdır ... 1


1

Bu sorunun cevabından esinlenerek, ilerleme değerini (% 0-100) aynı satırda (bir öncekinin üzerine yazarak) yazdırmaya devam eden basit bir sayaç toplu komut dosyası yaptım. Belki de benzer bir çözüm arayan diğerleri için de değerli olacaktır.

Not : *Yazdırılamaz karakterlerdir, bunlar karakter olan [ Alt+ Numpad 0+ Numpad 8] tuş kombinasyonu kullanılarak girilmelidir backspace.

@ECHO OFF

FOR /L %%A in (0, 10, 100) DO (     
    ECHO|SET /P="****%%A%%"    
    CALL:Wait 1
)

GOTO:EOF

:Wait
SET /A "delay=%~1+1"
CALL PING 127.0.0.1 -n %delay% > NUL
GOTO:EOF

0

Böyle bir seçeneğin olmadığına inanıyorum. Alternatif olarak bunu deneyebilirsiniz

set text=Hello
set text=%text% world
echo %text%

3
Bu yine de yeni bir satır basacaktır.
René Nyffenegger

3
İstediğiniz kadar değişkeni birleştirebilir ve yalnızca en sonunda yankılanabilirsiniz.
m0skit0

2
Döngü yaparken veya sonunda yazdırmak verilerin korunup korunmadığı önemli değildir. Her döngü için verileri birleştirirsiniz ve daha sonra döngü bittiğinde yazdırırsınız. Sonuç aynı.
m0skit0

9
O mu bu döngünün ilerlemenin bir göstergesi olmadığını fark.
gregseth

3
Sorunuzda bunu hiç belirtmediniz veya sorunuzun herhangi bir yerinde bu davranışı talep etmediniz.
m0skit0

0

Set / p komutunu kullanarak yeni satırı bastırabilirsiniz. Set / p komutu bir alanı tanımıyor, çünkü onu tanıması için bir nokta ve bir geri boşluk karakteri kullanabilirsiniz. Bir değişkeni bellek olarak da kullanabilir ve yazdırmak istediklerinizi saklayabilirsiniz, böylece değişkeni cümle yerine yazdırabilirsiniz. Örneğin:

@echo off
setlocal enabledelayedexpansion
for /f %%a in ('"prompt $H & for %%b in (1) do rem"') do (set "bs=%%a")
cls
set "var=Hello World! :)"
set "x=0"

:loop
set "display=!var:~%x%,1!"
<nul set /p "print=.%bs%%display%"
ping -n 1 localhost >nul
set /a "x=%x% + 1"
if "!var:~%x%,1!" == "" goto end
goto loop

:end
echo.
pause
exit

Bu şekilde yeni bir satır olmadan her şeyi yazdırabilirsiniz. Karakterleri birer birer yazdırmak için program yaptım, ancak döngüyü değiştirerek karakter yerine kelimeleri de kullanabilirsiniz.

Yukarıdaki örnekte "enableledelayedexpansion" ifadesini kullandım, böylece set / p komutu "!" karakter ve bunun yerine bir nokta yazdırır. Umarım ünlem işareti "!" ;)


-1

Burada geç cevap, ancak dbenham'ın cevabını yaklaşık 80 satır çok uzun bulan ve komut dosyaları sadece kullanım kısıtlamaları altında kırılabilen (belki de kullanıcı girdisi nedeniyle) tek bir satıra özel karakterler yazması gereken herkes için set /p, .bat veya .cmd'nizi derlenmiş bir C ++ veya C dili yürütülebilir dosyasıyla ve sadece coutveya printfkarakterlerle eşleştirmek en kolay yoldur . Bu, OP'nin görünüşte olduğu gibi, bir tür ilerleme çubuğu veya karakter kullanan bir şey gösteriyorsanız, bir satıra birden çok kez kolayca yazmanıza olanak tanır.


@jiggunjer Emin misin? printfBir Win-7 cmdbölmesinden ing bana veriyor"'printf' is not recognized as an internal or external command, operable program or batch file."
SeldomNeedy

printfpencerelere özgü değil. Bu bir pencere sorusu.
kayleeFrye_onDeck

1
@kayleeFrye_onDeck Yorumunuzun ben değil jiggunjer'e yönlendirildiğini varsayıyorum ; Soruma göre C ve C ++ 'nin biçimlendirmenin önemli olduğu durumlarda kabuk komutlarına oldukça platformdan bağımsız bir alternatif olarak kullanılabileceğini düşünüyorum.
SeldomNeedy

1
Affet beni baba, çünkü yağsızım.
kayleeFrye_onDeck

Ancak daha sonra kabuğa girişin doğru ayrıştırılması gerekir. Örneğin, böyle bir program nasıl bir tırnak işareti basar?
Alex
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.