cmd.exe
以下のように、コマンドの一部として改行または改行を使用して、でコマンドを実行しようとしています。
command -option:text
whatever
ただし、次の行でコマンドを継続するのではなく、新しい行ごとにコマンドが実行されます。
では、新しい行の文字を入力する方法、またはcmd.exeで複数行のコマンドを作成する方法を教えてください。
cmd.exe
以下のように、コマンドの一部として改行または改行を使用して、でコマンドを実行しようとしています。
command -option:text
whatever
ただし、次の行でコマンドを継続するのではなく、新しい行ごとにコマンドが実行されます。
では、新しい行の文字を入力する方法、またはcmd.exeで複数行のコマンドを作成する方法を教えてください。
回答:
^
文字をエスケープとして使用します。
command -option:text^
whatever
Windows XPなどのcmd.exeを使用していると仮定しています。これは実際のDOSではありません。実際のDOS(MS-DOS、Win3.1、Win95、Win98、WinME)を使用している場合、改行のエスケープがあるとは思わない。カスタムシェルを実行する必要があります。cmd.exeは、「More?」のプロンプトを表示します。^
行末でEnterキーを押すたびに、Enterキーを押すだけで、実際に改行をエスケープ/埋め込みできます。
SHUTDOWN.EXE
コマンドのコメントに改行を入れる方法を見つけようとして、ここで終わりました。私はこのようなものを使用することになりました:shutdown -s -t 900 -c "foo bar"^
>もっと? "baz"^
>その他? "test that."
動いた。
C:\>ver
Microsoft Windows [Version 6.3.9600]
C:\>echo Line1◙Line2 >con
Line1
Line2
C:\>
その改行文字は、numpadを使用してCLIでAltコードとして入力できます。NumLockをオンにして、ALTを押したまま、ALTを放す前にテンキーで10を入力します。CRも必要な場合は、Alt + 13とAlt + 10の両方で入力します。♪◙
注:これはバッチファイルでは機能しません。
サンプルの使用例:
環境変数%PATH%または%CLASSPATH%を読み取って、何がどの順序で存在するかを簡単に把握しようとしていpath
ますが、返されるテキストの壁は判読できません。次に、これはすぐに入力できるものです。
echo %path:;=◙% >con
編集:
>con
Brent Rittenhouseが新しいバージョンのcmd.exeで発見した、元の方法が機能しなくなった回避策を追加しました。
e2 99 aa e2 97 99
渡されます。ある種のUnicodeコードポイントですか?ただし、コマンドラインに文字が表示されます。助言がありますか?
Use legacy console
チェックボックスをオンにすると、その古い動作を得ることができることに気付きました。しかし、高解像度モニターでは非常に悪く見えます。
(echo New-line detected rigghhhtt ◙^<--- HERE!) > CON
周囲の括弧はオプションです。ここでは、これで何ができるかのより堅牢な例である(キャリッジリターンた今の仕事、そして完全に独立して!):i.imgur.com/qqN37PH.png
Amitの答え(/superuser//a/1132659/955256)を拡張して、レガシーコンソールを使用せずに、任意のフォントでそれを行う方法を見つけました。
あなたがする必要があるのは、単にalt-10文字で行をエコーアウトし、それをリダイレクトしcon
、それが動作することです!
たとえば、次の場合:
(エコー改行検出rigghhhtt◙^ <---ここに!)> CON
編集:楽しい事実、あなたはそのように最初にリダイレクトを置くことができるようです:
> CON echo New-line detected rigghhhtt◙^ <---こちら!
奇妙な、え?
次の出力が得られます。
New-line detected rigghhhtt
<-- HERE!
(周囲の括弧はオプションです。)
以下は、このANDキャリッジリターンを使用して何ができるかを示す、より堅牢な例です。
何よりも、ファイルにリダイレクトする場合にも機能します!
(単に変更> CON
する> desired_output_file.txt
楽しい!
^の出力は保存可能です
set br= ^
<</br (newline)>>
<</br>>
例:
@echo off
setlocal enableExtensions enableDelayedExpansion
rem cd /D "%~dp0"
rem //# need 2 [/br], can't be saved to a var. by using %..%;
set br= ^
set "t=t1!br!t2!br!t3"
for /f "tokens=* delims=" %%q in ("!t!") do (
echo %%q
)
:scIn
rem endlocal
pause
rem exit /b
; 出力:
t1
t2
t3
Press any key to continue . . .