bagaimana cara memperluas perintah ke baris berikutnya?
pada dasarnya apa alternatif windows untuk linux
ls -l \
/usr/
di sini kita menggunakan backslash untuk memperluas perintah pada baris berikutnya
apa yang setara dengan windows?
bagaimana cara memperluas perintah ke baris berikutnya?
pada dasarnya apa alternatif windows untuk linux
ls -l \
/usr/
di sini kita menggunakan backslash untuk memperluas perintah pada baris berikutnya
apa yang setara dengan windows?
Jawaban:
Setelah mencoba hampir setiap tombol di keyboard saya:
C:\Users\Tim>cd ^
Mehr? Desktop
C:\Users\Tim\Desktop>
Jadi sepertinya itu adalah kunci ^.
Di Prompt Perintah Windows ^
digunakan untuk melarikan diri karakter berikutnya pada baris perintah. (Suka \
digunakan dalam string.) Karakter yang perlu digunakan dalam baris perintah karena mereka harus memiliki ^ awalan kepada mereka, maka itu sebabnya ia bekerja untuk baris baru.
Untuk referensi karakter yang perlu melarikan diri (jika ditentukan sebagai argumen perintah dan bukan dalam tanda kutip) adalah: &|()
Jadi setara dengan contoh linux Anda akan menjadi ( More? Menjadi prompt):
C:\> dir ^
More? C:\Windows
Jika Anda datang ke sini mencari jawaban untuk pertanyaan ini tetapi tidak persis seperti yang dimaksudkan OP, yaitu bagaimana Anda mendapatkan multi-line CMD untuk bekerja dalam satu baris, saya punya semacam jawaban berbahaya untuk Anda.
Mencoba menggunakan ini dengan hal-hal yang benar-benar menggunakan perpipaan, seperti katakanlah findstr
cukup bermasalah. Hal yang sama berlaku untuk berurusan dengan else
s. Tetapi jika Anda hanya ingin perintah kondisional multi-baris untuk mengeksekusi langsung dari CMD dan tidak melalui file batch, ini harus bekerja dengan baik.
Katakanlah Anda memiliki sesuatu seperti ini dalam kumpulan yang ingin Anda jalankan langsung di command prompt:
@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"
)
)
Sekarang, Anda bisa menggunakan baris-kelanjutan carat ( ^
) dan mengetiknya secara manual seperti ini, tetapi peringatan, itu membosankan dan jika Anda mengacaukan Anda dapat mempelajari kegembiraan mengetik semuanya lagi.
Yah, itu tidak akan bekerja dengan hanya ^
berkat mekanisme melarikan diri di dalam kurung mengangkat bahu. Setidaknya tidak seperti yang tertulis. Anda sebenarnya perlu menggandakan karat seperti:
@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"))
Sebagai gantinya, Anda bisa menjadi skrip licik kotor dari sisi trek yang salah yang tidak memerlukan karat dengan menukarnya untuk satu pipa ( |
) per kelanjutan dari satu loop / ekspresi:
@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"