Làm thế nào để chúng tôi mở rộng một lệnh để dòng tiếp theo?
về cơ bản, cửa sổ thay thế cho linux là gì
ls -l \
/usr/
Ở đây chúng tôi sử dụng dấu gạch chéo ngược để mở rộng lệnh trên dòng tiếp theo
những gì tương đương cho các cửa sổ?
Làm thế nào để chúng tôi mở rộng một lệnh để dòng tiếp theo?
về cơ bản, cửa sổ thay thế cho linux là gì
ls -l \
/usr/
Ở đây chúng tôi sử dụng dấu gạch chéo ngược để mở rộng lệnh trên dòng tiếp theo
những gì tương đương cho các cửa sổ?
Câu trả lời:
Sau khi thử hầu hết mọi phím trên bàn phím của tôi:
C:\Users\Tim>cd ^
Mehr? Desktop
C:\Users\Tim\Desktop>
Vì vậy, nó có vẻ là chìa khóa ^.
Trong Windows Command Prompt, ^
được sử dụng để thoát ký tự tiếp theo trên dòng lệnh. (Giống như \
được sử dụng trong chuỗi.) Các ký tự cần được sử dụng trong dòng lệnh vì chúng phải có ^ tiền tố cho chúng, do đó đó là lý do tại sao nó hoạt động cho dòng mới.
Để tham khảo các ký tự cần thoát (nếu được chỉ định làm đối số lệnh và không nằm trong dấu ngoặc kép) là: &|()
Vì vậy, tương đương với ví dụ linux của bạn sẽ là ( Thêm? Là một dấu nhắc):
C:\> dir ^
More? C:\Windows
Nếu bạn đến đây để tìm câu trả lời cho câu hỏi này nhưng không chính xác theo cách OP có nghĩa là, làm thế nào để bạn có được nhiều dòng CMD hoạt động trong một dòng duy nhất , tôi có một câu trả lời nguy hiểm cho bạn.
Cố gắng sử dụng điều này với những thứ thực sự sử dụng đường ống, như nói findstr
là khá có vấn đề. Cùng đối phó với else
s. Nhưng nếu bạn chỉ muốn một lệnh điều kiện nhiều dòng thực thi trực tiếp từ CMD và không thông qua một tệp bó, thì điều này sẽ hoạt động tốt.
Giả sử bạn có một cái gì đó như thế này trong một lô mà bạn muốn chạy trực tiếp trong dấu nhắc lệnh:
@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"
)
)
Bây giờ, bạn có thể sử dụng carat tiếp tục dòng ( ^
) và gõ thủ công như thế này, nhưng cảnh báo, thật tẻ nhạt và nếu bạn làm phiền, bạn có thể học lại niềm vui khi gõ lại tất cả.
Vâng, nó sẽ không làm việc với chỉ ^
nhờ vào cơ chế thoát bên trong ngoặc nhún vai Ít nhất không phải là bằng văn bản. Bạn thực sự sẽ cần phải tăng gấp đôi số carat như vậy:
@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"))
Thay vào đó, bạn có thể là một người viết lén lén bẩn thỉu từ phía sai của các bản nhạc không cần carat bằng cách hoán đổi chúng cho một ống ( |
) trên mỗi vòng lặp / biểu thức:
@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"