bir komutu bir sonraki satıra nasıl genişletebiliriz?
temelde linux için windows alternatif nedir
ls -l \
/usr/
burada sonraki satırdaki komutu genişletmek için ters eğik çizgi kullanıyoruz
Windows için eşdeğer nedir?
bir komutu bir sonraki satıra nasıl genişletebiliriz?
temelde linux için windows alternatif nedir
ls -l \
/usr/
burada sonraki satırdaki komutu genişletmek için ters eğik çizgi kullanıyoruz
Windows için eşdeğer nedir?
Yanıtlar:
Klavyemdeki hemen hemen her tuşu denedikten sonra:
C:\Users\Tim>cd ^
Mehr? Desktop
C:\Users\Tim\Desktop>
Yani ^ anahtar gibi görünüyor.
Windows Komut İsteminde ^
, komut satırındaki bir sonraki karakterden kaçmak için kullanılır. ( \
Dizelerde kullanılır gibi .) Komut satırında oldukları gibi kullanılması gereken karakterlerin önüne ^ öneki gelmelidir, bu nedenle satırsonu için çalışır.
Referans olarak, kaçması gereken karakterler (tırnak içinde değil, komut argümanları olarak belirtilmişse): &|()
Yani linux örneğinizin eşdeğeri ( Daha fazla? Komut istemi) olacaktır:
C:\> dir ^
More? C:\Windows
Bu soruya bir cevap aramak için geldiyseniz, ancak OP'nin tam anlamıyla değil , yani çok satırlı CMD'yi tek bir satırda nasıl çalıştıracaksınız, sizin için bir tür tehlikeli cevabım var.
Bunu aslında boru kullanan şeylerle kullanmaya çalışmak, örneğin findstr
, oldukça sorunlu. Aynı şey else
s ile uğraşmak için de geçerlidir . Ancak, bir toplu iş dosyası aracılığıyla değil, doğrudan CMD'den yürütmek için çok satırlı bir koşullu komut istiyorsanız, bunun iyi çalışması gerekir.
Doğrudan komut isteminde çalıştırmak istediğiniz bir toplu işte böyle bir şeyiniz olduğunu varsayalım:
@echo off
for /r %%T IN (*.*) DO (
if /i "%%~xT"==".sln" (
echo "%%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file
echo Dumping SLN file contents
type "%%~T"
)
)
Şimdi, hat devam karatını ( ^
) kullanabilir ve manuel olarak bu şekilde yazabilirsiniz, ancak uyarı, sıkıcıdır ve eğer karışıklık yaparsanız, tekrar yazmanın keyfini öğrenebilirsiniz.
Sadece ^
parantez omuz silkme mekanizmaları sayesinde en azından yazıldığı gibi çalışmaz. Aslında karatları iki katına çıkarmanız gerekir:
@echo off ^
More? for /r %T IN (*.sln) DO (^^
More? if /i "%~xT"==".sln" (^^
More? echo "%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file^^
More? echo Dumping SLN file contents^^
More? type "%~T"))
Bunun yerine, karat gerektirmeyen parçaların yanlış tarafından |
, bir döngü / ifadenin devamı başına tek bir boru ( ) için değiştirerek kirli sinsi bir komut dosyası olabilirsiniz :
@echo off
for /r %T IN (*.sln) DO if /i "%~xT"==".sln" echo "%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file | echo Dumping SLN file contents | type "%~T"