�R�}���h�v�����v�g�� REM �̓R�}���h

�C�t���Ă��܂���ł����B

�R�}���h�v�����v�g�̃o�b�`�����t�@�C���ŃR�����g�������Ƃ��� REM ���g���܂��� REM �̓R�����g�̃}�[�N�ł͂Ȃ� �u�������Ȃ��v�R�}���h�ł����B

C:\> REM �R�����g�I

"/?" ��t����ƃw���v���\������܂��B

C:\> REM /?

�o�b�` �t�@�C���܂��� CONFIG.SYS �ɃR�����g (����) ���L�^���܂��B

REM [�R�����g]

�Ȃ̂ŁA���̂悤�� "/?" �Ŏn�܂�ςȑ�����t���Ă��܂��ƁB

REM /???? -- �R�����g -- ???/
C:\> test.bat

-- �̎g����������Ă��܂��B

���̂悤�ɃG���[���o�Ă��܂��܂��B

�R�}���h�v�����v�g�� FOR �R�}���h�̏o�͂��܂Ƃ߂�

FOR �R�}���h�͏������J��Ԃ����Ƃ��ł��܂��B

���̃T���v���́Aaaaa.txt �̓��e���s���Ƃ� �_�u���N�H�[�e�[�V�����ň͂�ŏo�͂��Ă��܂��B

C:\> FOR /F %I IN (aaaa.txt) DO @ECHO "%I" >> bbbb.txt

����͎��̂悤�ɏ������Ƃ��ł��܂��B

C:\> (FOR /F %I IN (aaaa.txt) DO @ECHO "%I") > bbbb.txt

�������邱�ƂŁA�t�@�C������ɂ��鏈�����s�v�ɂȂ����� �����̑��x���オ�����肵�܂��B

�R�}���h�v�����v�g�� DIR �R�}���h�Ńt�@�C�������o�͂���

�R�}���h�v�����v�g�� DIR �R�}���h�� �t�@�C���������o�͂���Ƃ��� �u/A�v�I�v�V�����Łu�f�B���N�g���ȊO�v���w�肵�܂��B

C:\> DIR /A:-D

�C�O�̊當���݂����ɂȂ��Ă܂��� �uD�v���f�B���N�g���ŁA�u-�v���Z�Z�ȊO�ɂȂ�܂��B

�R�����͏ȗ����邱�Ƃ��ł��܂��B

C:\> DIR /A-D

�u/B�v�I�v�V������t���ăt�@�C���������A �Ȃ�Ă��Ƃ��ł��܂��B

C:\> DIR /A:-D /B

�R�}���h�v�����v�g�� SH1 �� MD5 �̃n�b�V���l�����߂�

���̑O�� CERTUTIL ���g���� �t�@�C���̃n�b�V���l�����߂邱�Ƃ��ł��܂��B

C:\> CERTUTIL -hashfile test.txt SHA1
SHA1 �n�b�V�� (�t�@�C�� decoded.txt):
05 f6 94 17 04 da 46 18 40 dd da a0 a8 87 0c 9a 21 cb 6e 17
CertUtil: -hashfile �R�}���h�͐���Ɋ������܂����B

C:\> CERTUTIL -hashfile test.txt MD5
MD5 �n�b�V�� (�t�@�C�� decoded.txt):
77 c1 6d 26 74 1b 41 91 c9 25 8b 59 61 a0 c4 d3
CertUtil: -hashfile �R�}���h�͐���Ɋ������܂����B

�s�v�ȍs�� FIND �R�}���h�Ŏ�菜���܂��B

C:\> CERTUTIL -hashfile test.txt SHA1 | FIND /V ":"
05 f6 94 17 04 da 46 18 40 dd da a0 a8 87 0c 9a 21 cb 6e 17

�Ԃ̋󔒂���菜���܂��B FOR �R�}���h���ƊȒP�ł��B

C:\> @FOR /F "delims=/" %i IN ('CERTUTIL -hashfile test.txt SHA1 ^| FIND /V ":"') DO @((SET ITEM=%i) && (ECHO %ITEM: =%))
05f6941704da461840dddaa0a8870c9a21cb6e17

�����Ɏg�������ł��ˁB

�R�}���h�v�����v�g�� base64 �t�@�C�����f�R�[�h����

Windows �̃R�}���h�v�����v�g�ɂ� CERTUTIL �Ƃ����R�}���h������܂��B �ؖ����Ƃ����A���R������R�}���h�Ȃ̂ł��� ���̃R�}���h���g�����Ƃ� base64 �t�@�C���̃f�R�[�h���ł��܂��B

[�Q�l]
Windows�R�}���h�W - certutil�FITpro

�܂� Linux �� base64 �G���R�[�h�����t�@�C�������܂��B �i�ʂ�Linux�ō��K�v�͂���܂���j

$ sudo vi source.txt

$ cat source.txt
���͂悤
����ɂ���
����΂��

$ cat source.txt | nkf -s | base64 | tee encoded.txt
gqiCzYLmgqQKgrGC8YLJgr+CzQqCsYLxgs6C8YLNCg==

���̃t�@�C���� Windows �Ɏ����Ă��� �f�R�[�h���Ă݂܂��B

C:\> CERTUTIL -decode encoded.txt decoded.txt
���͒� = 44
�o�͒� = 31
CertUtil: -decode �R�}���h�͐���Ɋ������܂����B

C:\> TYPE decoded.txt
���͂悤
����ɂ���
����΂��

CERTUTIL �R�}���h�ŃG���R�[�h���ł��܂��B

C:\> CERTUTIL -encode decoded.txt encoded.txt
���͒� = 31
�o�͒� = 102
CertUtil: -encode �R�}���h�͐���Ɋ������܂����B

C:\> TYPE encoded.txt
-----BEGIN CERTIFICATE-----
gqiCzYLmgqQKgrGC8YLJgr+CzQqCsYLxgs6C8YLNCg==
-----END CERTIFICATE-----

�R�}���h�v�����v�g�̕W���o�͂��N���b�v�{�[�h�ɕۑ�����

Windows �̃R�}���h�v�����v�g�ɂ́A �R�}���h�̌��ʂȂǂ̕W���o�͂��N���b�v�{�[�h�ɕۑ����邽�߂� CLIP �Ƃ����R�}���h������܂��B

�g�������ȒP�� �p�C�v�⃊�_�C���N�g�œn�������ł��B

C:\> DIR | CLIP
C:\> CLIP < README.TXT

�R�}���h�̌��ʂ��t�@�C���ɕۑ�������A �R�}���h�v�����v�g�̃E�B���h�E��͈͑I������K�v���Ȃ����� ������Ƃ�����ƂŊ��􂵂Ă����R�}���h�ł��B

�R�}���h�v�����v�g�Ńt�@�C�����܂Ƃ߂ĘA������

�R�}���h�v�����v�g�� COPY �R�}���h�ł� ���̂悤�� + ���g�����Ƃŕ����̃t�@�C����A�����邱�Ƃ��ł��܂��B

C:\> COPY /B 1.txt + 2.txt + 3.txt all.txt

���Ȃ݂� B �I�v�V������ �t�@�C�����o�C�i���t�@�C���Ƃ��Ĉ����w��ł��B

�t�H���_�ɑ�������t�@�C����A������Ƃ� �������� + �������̂͑�ςł��B ���̂悤�Ƀ��C���h�J�[�h�Ńt�@�C�����w�肵�Ă��A�����邱�Ƃ��ł��܂��B

C:\> COPY /B *.txt all.txt

�A�����鏇�Ԃ��t�@�C�����̂Ƃ��� �������̕����ȒP�ł��ˁB

Windows �� TIMEOUT �R�}���h

���̋L���ł������̂ł����AWindows Vista/2003 Server ���� TIMEOUT �Ƃ����R�}���h���W���œ����Ă��邻���ł��B

[�Q�l]
timeout�^sleep�R�}���h�Ŏ��s���ꎞ��~���� �| @IT

TIMEOUT �� Linux �� sleep �̂悤�ȃR�}���h�� �w�肵�����ԑҋ@�����邱�Ƃ��ł��܂��B

C:\> TIMEOUT /T 3

3 �b�҂��Ă��܂��B���s����ɂ͉����L�[�������Ă������� ...

���b�Z�[�W�̒ʂ�A�L�[���������ƂŎ��ɐi�ނ��Ƃ��ł��܂��B

�I�v�V���� "/NOBREAK" �� [Ctrl]+C �ȊO�̃L�[���͂� �����ɂ��邱�Ƃ��ł��܂��B

C:\> TIMEOUT /T 3 /NOBREAK

3 �b�҂��Ă��܂��B�I������ɂ� CTRL+C �������Ă������� ...

����܂ŃR�}���h�v�����v�g�őҋ@������Ƃ��� �R�}���h�����邩 ping ���g���Ă����̂� TIMEOUT �̓o��͊������ł��ˁB

���b�Z�[�W���o�������Ȃ��Ƃ��� nul �Ɏ̂Ă܂��B

C:\> TIMEOUT /T 3 /NOBREAK > nul

nul �� /dev/null �݂����Ȃ��̂ł��B

�R�}���h�v�����v�g�ł� PUSHD

�ȑO Bash �� pushd �ɂ‚��ď����܂����� �R�}���h�v�����v�g�ł� pushd ���g�����Ƃ��ł��܂��B

C:\> PUSHD D:\test
D:\test> POPD
C:\> 

���̂悤�Ƀh���C�u���ړ����Ă���܂��B

�ʔ����̂��l�b�g���[�N�h���C�u�̃p�X���w�肵���Ƃ��ł��B

C:\> PUSHD \\192.168.1.15\public
Z:\> 

���̂悤�� Z ���珇�ɋ󂢂Ă���h���C�u��T���� �ꎞ�I�Ƀl�b�g���[�N�h���C�u�̊��蓖�Ă����Ă���܂��B �i�}�C�R���s���[�^������ƁA���蓖�Ă�ꂽ�h���C�u�����\������Ă��܂��j

POPD ��A�R�}���h�v�����v�g�� EXIT ���� �ꎞ�I�Ɋ��蓖�Ă�ꂽ�h���C�u�𔲂���� �l�b�g���[�N�h���C�u�̊��蓖�Ă������ʼn�������܂��B

FTP �R�}���h�ŁA�ڑ���T�[�o�̃t�@�C���̑�����ύX����

FTP �R�}���h�� �ڑ���T�[�o�̃t�@�C���̑�����ς���ꍇ "quote site" �R�}���h���g�p���܂��B

�܂��� FTP �T�[�o�ɐڑ����܂��B

C:\> ftp 192.168.1.100

quote site �R�}���h�̌��� �ʏ�� chmod �R�}���h�̂悤�� �u�����v�u�t�@�C�����v���w�肵�܂��B

ftp> quote site chmod 755 test.txt

�g�����͂���ŏI���ł��� ���͂���� FTP �T�[�o���� chmod �̎g�p���T�|�[�g����Ă���K�v������܂��B

�������� quote �� �ڑ���ɒ��ڃR�}���h�𑗐M����R�}���h�� site �́A�ڑ���ŃT�|�[�g���Ă���R�}���h�� ���s����R�}���h�Ȃ̂ł��B

chmod ���T�|�[�g����Ă��邩�ǂ����� "quote site" �̌��� "help" ���w�肵�Ċm�F���܂��B

ftp> quote site help

214- The following SITE commands are recognized (* =>'s unimplement
   UMASK   IDLE    CHMOD   HELP
214 Direct comments to ftp-bugs@KURO-BOX1.

��̗�� FTP �T�[�o�ł� chmod �̑��ɂ� umask�Aidle �� �T�|�[�g����Ă��܂��B
�i * ���t���Ă���ꍇ�̓T�|�[�g����Ă��܂���j

Vista �ł̓R�}���h�v�����v�g�Ƀh���b�O���h���b�v�ł��Ȃ�

Windows Vista �ł� XP �܂ł̂悤�� �t�@�C�����R�}���h�v�����v�g�Ƀh���b�O���h���b�v���� �t�@�C���̃p�X��\�邱�Ƃ��ł��܂���B

���@���������ƌ������Ă݂�Ǝ��̂悤�ȋL��������܂����B

�y�Q�l�T�C�g�z
�������ς����Windows Vista 100�A���I �\ ��49�� �g�p�X�Ƃ��ăR�s�[�h�ŃR�}���h�v�����v�g�Ƀp�X����n��

����ɂ��� Vista �ł� [Shift] �L�[�������Ȃ���E�N���b�N����� ���̂悤�Ɂu�p�X�Ƃ��ăR�s�[�v���郁�j���[���o�Ă���̂� ����Ńt�@�C���̃p�X���R�s�[���Ă��� �R�}���h�v�����v�g�ɓ\��t���邻���ł��B

WRITE_0275_01

�h���b�O���h���b�v���֗��������̂Ŏc�O�ł��B

�R�}���h�v�����v�g�̒x���‹��ϐ�

�R�}���h�v�����v�g�� FOR ���[�v�Ȃǂ��g���Ă���Ƃ��� �u����H �ϐ��̒l���ς��Ȃ��H�H�v�Ƃ������Ƃ�����܂��B

�Ⴆ�΁A�o�b�`�t�@�C���Ɏ��̂悤�ɏ����Ă���Ƃ��܂��B

FOR /F %%i IN ('SET') DO ECHO %%i 

����́A�R�}���h SET �̎��s���ʂ�������ƕ\�����܂��B

���̌��ʂ̌������擾���邽�߂ɃJ�E���^��t�����Ƃ��܂��B

SET COUNT=0
FOR /F %%i IN ('SET') DO SET /A COUNT=%COUNT%+1
ECHO %COUNT% 

��肭�s�������Ȃ̂ł����A���ʂ� 1 ���o�͂���܂��B

����͕ϐ��́g�����W�J�h�Ƃ������̂ŁA ���[�v�̒��� %COUNT% ����ɕ]������Ă��܂��̂� ���ʓI�ɂ͎��̂悤�ȏ����ɂȂ��Ă��܂����߂ł��B

SET COUNT=0
FOR /F %%i IN ('SET') DO SET /A COUNT=0+1
ECHO %COUNT% 

�Ή��Ƃ��āg�x���‹��ϐ��h���g���Ƃ������@������܂��B

�x���‹��ϐ��́A���O�̒ʂ�x�����ĕϐ���]�����Ă����킯�ł��� �f�t�H���g�ł̓I�t�ACMD.exe �̃I�v�V�����⃌�W�X�g���̕ύX�� SETLOCAL �ł̎w�肪�K�v�ɂȂ�܂��B
�i�ڂ����� CMD /? ���Ă��������j

����� SETLOCAL ���g���Č��܂��B

���̂悤�� SETLOCAL �� enabledelayedexpansion ���w�肵�� ENDLOCAL �ŏI���܂��B �i ENDLOCAL �͏ȗ��‚ł��B�j

����ɒx���]������ϐ��� "%" �ł͂Ȃ� "!" �ň݂͂܂��B

SETLOCAL enabledelayedexpansion
SET COUNT=0
FOR /F %%i IN ('SET') DO SET /A COUNT=!COUNT!+1
ECHO %COUNT%
ENDLOCAL

����őz�肵�Ă������ʂ��Ԃ�܂��B
�i�����ꍇ�̓t�@�C���ɕۑ����Ď��s���Ă��������j

�x���‹��ϐ����g��Ȃ��� CALL ���g�����@������܂��B

SET COUNT=0
FOR /F %%i IN ('SET') DO CALL SET /A COUNT=%%COUNT%%+1
ECHO %COUNT%

����ł��������ʂ��Ԃ�܂��B
CALL �̒��� "%" ����d�ɂȂ��Ă��邱�Ƃɒ��ӂ��Ă��������B

�R�}���h�v�����v�g�Ōv�Z����

�R�}���h�v�����v�g�͌v�Z���ł��܂��B

�v�Z�ɂ́ASET �R�}���h�� /A �I�v�V�������g���܂��B

C:\> SET /A RESULT=1+2*4+5
14

C:\> ECHO %RESULT%
14

���ڎ��s�����ꍇ�́A�v�Z���ʂ��o�͂���܂��� �o�b�`�t�@�C���ɏ������ꍇ�͏o�͂���܂���B

���Z�q�͎��̂��̂��g���܂��B

()                  - �O���[�v��
! ~ -               - �P�����Z�q
* / %               - �Z�p���Z�q
+ -                 - �Z�p���Z�q
<< >>               - �_���V�t�g
&                   - �r�b�g���Z�q AND
^                   - �r�b�g���Z�q�r���I OR
|                   - �r�b�g���Z�q OR
= *= /= %= += -=    - ���
  &= ^= |= <<= >>=
,                   - ���̋�؂�L�� 

">" ���܂܂��ꍇ�� ���_�C���N�g�ɂȂ�Ȃ��悤�� �_�u���N�H�[�e�[�V�����ň݂͂܂��B

C:\> SET /A RESULT="14>>2"
3

�������ϐ���錾�����ɁA�v�Z�������邱�Ƃ��ł��܂��B

C:\> SET /A 13*2+1
27

�擪�� 0 �̏ꍇ�́A8 �i���A0x �̏ꍇ�� 16�i���ɂȂ�܂��B

C:\> SET /A 011+0xA
19

��̗�́A10 �i���� 9 �� 10 �𑫂��Ă��܂��B

�R�}���h�v�����v�g������u������

�R�}���h�v�����v�g�ł��A�ȒP�ȕ�����u�����”\�ł��B

�Ⴆ�΁A���̂悤�ȕϐ� DATE ��錾���܂��B

C:\> SET DATE=2010/03/20
C:\> ECHO %DATE%
2010/03/20

"/" �� "-" �ɒu�����܂��B

C:\> ECHO %DATE:/=-% 
2010-03-20

������ "%�ϐ�:�u������镶��=�u�����镶��%" �ł��B

"*" ���g���ƁA"*" �ȍ~����v����Ƃ���܂ł�u���ł��܂��B
������ "*" �͐擪�ɂ����g���܂���B

C:\> ECHO %DATE:*/=YEAR%
YEAR03/20

��̗�ł́A�ŏ��ɏo�Ă��� "/" �܂ł�u���ΏۂƂ��Ă��܂��B

�u�����镶������w�肵�Ȃ��� �󕶎����w�肵�����ƂɂȂ�܂��B

C:\> ECHO %DATE:*/=%
03/20

�R�}���h�v�����v�g �L�[�{�[�h�����Ńy�[�X�g����

�u�R�}���h�v�����v�g�ŁA�L�[�{�[�h������ �N���b�v�{�[�h�̃e�L�X�g���y�[�X�g�ł��܂��񂩁H�v�� ������܂����B

���́A�}�E�X�ƃV���[�g�J�b�g��g�ݍ��킹�Ďg���̂��D���Ȃ̂� ���܂�C�ɂȂ�Ȃ��̂ł����A�L�[�{�[�h���[�U�� �}�E�X�Ɏ����ւ���̂��A�D���ł͂Ȃ��悤�ł��B

������ƍl���Ă݂܂����B

�ҏW �� �\��t���́A���̐}�̂悤�� �E�B���h�E�̍���̃A�C�R��������Ăяo���܂��B

WRITE_0167_01

�ӊO�ƒm���Ă��Ȃ��悤�Ȃ̂ł��� [Alt+Space] �ŁA�E�B���h�E�̍���̃A�C�R���̃��j���[�� �Ăяo�����Ƃ��ł��܂��B

������g���܂��B

���Ƃ́A���ʂ� [E] �i�ҏW�j�� [P] �i�\��t���j�������܂��B

1�A�N�V�����ł͖����������̂ł��� �L�[�{�[�h���[�U�ɂ� �}�E�X���g��Ȃ��čςނ����ŏ[���Ȃ悤�� �������Ă��炦�܂����B

����Ă���� [Alt+Space] [E] [P] �ƃ��Y���ǂ������܂��B ���ł��^��Ɏv�����Ƃ͑厖�ł��ˁB

�R�}���h�v�����v�g�ŁA�t�@�C���̓��e���ς���Ă���Βu��������

"old.txt" �� "new.txt" ������A���e���ς���Ă���� "new.txt" �Œu�������� �ς���Ă��Ȃ���� ���̂܂܁i�^�C���X�^���v��ύX�������Ȃ��j�Ƃ����悤�� �������s���܂��B

�‚܂�A���̂悤�ȏ����ɂȂ�܂��B

  • ���e���Ⴄ �� "old.txt" �� "new.txt" �Œu������
  • ���e������ �� "new.txt" ���폜

�t�@�C���̔�r�́AFC �R�}���h���g�p���܂��B

FC �R�}���h�́A��r�������ʂ��u��v�v�̏ꍇ�A����I���A �u�s��v�v�̏ꍇ�́A�ُ�I���ƂȂ�̂ŁA����𗘗p���� ���̂悤�ȃR�}���h���쐬���܂��B

C:\> fc /B "old.txt" "new.txt" > nul 2>&1 && ^
More? del "new.txt" || ^
More? move /Y "new.txt" "old.txt"

�R�}���h�������̂Ő܂�Ԃ��Ă��܂����A1 �s�̃R�}���h�ł��B

���s����ƁA���ʓI�� "old.txt" �� 1 �‚����c��܂��B

"old.txt" �� "new.txt" ���ς���Ă邾���łȂ��A "old.txt" �����݂��Ȃ��ꍇ�� "new.txt" �Œu�������܂��B

�t�@�C�����w�肵�Ď��s���܂������A������g���ăo�b�`���������� �t�H���_�P�ʂœ������O�̃t�@�C�����r���Ēu�������A�Ƃ��������Ƃ��ł��܂��B �T�[�o�Ԃ̈ړ��Ȃǂ��s���Ƃ��ɁA�ŐV�ł̃t�@�C���������ړ����āA�����̃t�@�C���� �^�C���X�^���v���X�V�������Ȃ��A�Ƃ������Ƃ��ȂǂɎg�������ł��B

�R�}���h�v�����v�g�� Linux �� du ���ۂ��R�}���h������Ă݂�

��y�� �R�}���h�v�����v�g�� du ���ۂ����Ƃ����������ł��Ȃ��� �����Ă����̂ŁA�R�}���h�v�����v�g�̉��[���𗝉����Ă��炨���� ������ƍl���Ă݂܂����B

Windows XP �œ���m�F���܂����B Windows 2000 �ł́A�f�B���N�g���̃p�X�Ƀ}���`�o�C�g������ �܂܂�Ă���� ���܂������Ȃ��Ƃ�������܂��B

@ECHO OFF

SET DIROPTION=/A:-D
SET CURRENTPATH=%CD%
SET TARGETPATH=%~1
IF "%TARGETPATH%"=="" SET TARGETPATH=%CURRENTPATH%

CD /D %TARGETPATH%

FOR /R %%i IN (.) DO (
    FOR /F "usebackq tokens=1,3" %%j IN (
        `DIR %DIROPTION% /-C "%%~fsi" 2^>nul ^|
         FINDSTR "�‚̃t�@�C��.*�o�C�g$"`
    ) DO (
        ECHO "%%~fi",%%j,%%k
    )
)

CD /D %CURRENTPATH%

����� du.bat �Ƃ��ĕۑ����܂��B

�����ɑΏۂ̃f�B���N�g�����w��ł��܂��B �w�肵�Ȃ��ꍇ�A�J�����g�f�B���N�g�����ΏۂƂȂ�܂��B

C:\> du.bat D:\wwwroot

"D:\wwwroot",1,19001
"D:\wwwroot\css",7,106837
"D:\wwwroot\img",13,2685964 

�o�͌��ʂ́A�p�X�A�t�@�C�����A���v�t�@�C���T�C�Y�ł��B

���̃X�N���v�g�́A�t�@�C������ 0 �̃f�B���N�g���� �������ׂ����炷���߂ɏo�͂��Ȃ��悤�ɂ��Ă��܂��B �t�@�C������ 0 �̃f�B���N�g�����o�͂���ɂ� 3 �s�ڂ̐ݒ�����̂悤�ɕύX���܂��B

SET DIROPTION=/A:-

�R�}���h�v�����v�g�̕����F�E�w�i�F��ύX����

COLOR �Ƃ����R�}���h�� �R�}���h�v�����v�g�̕����Ɣw�i�̐F�� �ς��邱�Ƃ��ł��܂��B

C:\> COLOR 2F

16 �i�� 2 �� �Ŏw�肵�܂��B �Ђƌ��ځi��̗�ł� "2"�j�� �w�i�F�A �ӂ����ځi��̗�ł� "F"�j�� �����F�ł��B

�F�̒l�́A���̂悤�ɂȂ�܂��B

 0 = ��          8 = �D�F
 1 = ��          9 = ���邢��
 2 = ��          A = ���邢��
 3 = ���F        B = ���邢���F
 4 = ��          C = ���邢��
 5 = ��          D = ���邢��
 6 = ���F        E = ���邢���F
 7 = ��          F = �P����

���̂悤�� �l���P�‚̏ꍇ�� �����F���ύX����܂��B

C:\> COLOR 2

���̂悤�� �����Ɣw�i�̐F�� �����F���w�肵���ꍇ�� �����������Ȃ邽�߂Ȃ̂� �ύX����܂���B

C:\> COLOR 22

�����l�ɖ߂��ɂ� ���̂悤�Ɉ��������Ŏ��s���܂��B

C:\> COLOR

�o�b�`�����̒��ł́A���́u�����l�ɖ߂��v�͎g���Ȃ��悤�ł��B

�R�}���h�v�����v�g�̃^�C�g����ύX����

Windows 2000/XP ���� �R�}���h�v�����v�g�� TITLE �R�}���h�� �E�B���h�E�̃^�C�g����ς��邱�Ƃ��ł���悤�ɂȂ�܂����B

@ECHO OFF

TITLE �R�}���h�v�����v�g�ʼn������Ă��邩�킩��₷���I
PAUSE

��������s����� ���̂悤�ɂȂ�܂��B

���Ԃ̂����鏈���̂Ƃ��Ȃ� �R�}���h�v�����v�g�̃^�C�g����ς��Ă����� ���̏��������Ă��邩�킩��₷���Ȃ�܂��B

�t�@�C���� 0 �o�C�g�ɂ���

�NjL�^�Ń��O�t�@�C���Ȃǂ��쐬���Ă���� �t�@�C���� 0 �o�C�g�ŃN���A�������Ƃ�������܂��B

���悤�ȃR�}���h�� �t�@�C���� 0 �o�C�g�ɂ��܂��B �i�t�@�C�������݂��Ȃ���΁A 0 �o�C�g�̃t�@�C�����쐬���܂��j

$ cat /dev/null > 0.txt

DOS �̏ꍇ�́A���̂悤�ɃR�}���h��ł��܂��B null �ł͂Ȃ��Anul �Ȃ̂Œ��ӂ��Ă��������B

C:\> type nul > 0.txt

DOS�Ńl�b�g���[�N��̃t�H���_�ɃA�N�Z�X����

DOS�Ńl�b�g���[�N��̃t�H���_�ɃA�N�Z�X���悤�Ƃ���� ���̂悤�ɃG���[���������܂��B

C:\>cd \\192.168.1.10\share
CMD �ł� UNC �p�X�͌��݂̃f�B���N�g���Ƃ��ăT�|�[�g����܂���B 

�����ŁASUBST �R�}���h���g�p���܂��B

C:\>SUBST Z: \\192.168.1.10\share
C:\>Z:
Z:\>

SUBST �́A���z�h���C�u�����蓖�Ă�R�}���h�ł��B ��̏ꍇ�� �u\\192.168.1.10\share�v���uZ�h���C�u�v�Ƃ��Đݒ肵�܂����B

����ŁA�l�b�g���[�N��̃t�H���_�����[�J���Ɠ����悤�� DOS����A�N�Z�X���邱�Ƃ��ł��܂��B

���蓖�Ă���������Ƃ��́A���̂悤�ɃR�}���h��ł��܂��B

C:\>SUBST Z: /D

FOR�R�}���h���Ńp�C�v�����_�C���N�g���g�p����

DOS��FOR�R�}���h�́A������DOS�̃R�}���h���ł� �̂ƂȂ�d�v�ȃR�}���h�ł��B

����FOR�R�}���h���Ŏ��s����R�}���h�� �p�C�v�⃊�_�C���N�g���g�p�������ꍇ������܂��B

�Ⴆ�΁E�E�E

C:\>FOR /F %i IN ('DIR /B /A:-D | FIND /C /V ""') DO ECHO %i
| �̎g����������Ă��܂��B

��̗�ł́A�J�����g�f�B���N�g���̃t�@�C���̐����o�͂��悤�Ƃ��Ă���̂ł��� �u| �̎g����������Ă��܂��B�v�ƃG���[���\������Ă��܂��܂��B

����́AFOR�R�}���h���̃p�C�v�⃊�_�C���N�g�� "^"�i�L�����b�g�j���g���ăG�X�P�[�v���Ă��K�v�����邽�߂ł��B

�������́A���̂悤�ɂȂ�܂��B

C:\>FOR /F %i IN ('DIR /B /A:-D ^| FIND /C /V ""') DO ECHO %i
3

���_�C���N�g�����l�ł��B

FOR /F "tokens=1,2 delims==" %i IN ('ASSOC') DO (
  IF NOT "%j" == "" (
    FOR /F "tokens=2 delims==" %k IN ('FTYPE %j 2^>nul') DO (
      ECHO %i
      ECHO  -^> %k
      ECHO.
    )
  )
)

��̗�́A�t�@�C���̊֘A�t�����o�͂��Ă���̂ł����A 3�s�ڂ̕W���G���[���̂Ă�u2^>nul�v�́u>�v�� �G�X�P�[�v���Ă��܂��B

MS-DOS�̃o�b�`�t�@�C���ɁAWSH(JScript)�̃R�[�h���L�q����

WSH�ɂ́A�W�����͂���X�N���v�g���󂯎�邱�Ƃ��ł��Ȃ��̂� DOS�̏����ƁAWSH�̏������K�v�ȏꍇ�́A2�‚̃t�@�C�����K�v�ɂȂ�܂��B

����́A������ƕς������łP�‚̃t�@�C���Ŏ��s���܂��B

@if (1==1) /*
@ECHO OFF
rem ========================================================
rem = MS-DOS ����
rem ========================================================
:DOS
ECHO I'm MS-DOS!

:JSCRIPT
CScript //Nologo //E:JScript "%~f0" %*

GOTO :EOF
rem */
@end

/** ========================================================
  *  JavaScript ����
  * ========================================================
 **/
// �又���̌Ăяo��
WScript.quit(main(WScript.arguments.length
                , WScript.arguments));

// �又��
function main( argc, argv ) {
    WScript.echo("I'm JScript!");
}

����� test.bat �Ƃ��Ď��s����ƁA�ȉ��̂悤�Ȍ��ʂɂȂ�܂��B

C:\>test.bat
I'm MS-DOS!
I'm JScript!

DOS�̏������ɓ����t�@�C����JScript�Ƃ��ď��������Ă��܂��B

�|�C���g�͐擪�́u@if�v����u@end�v�܂łł��B �u@if�v�́A�����t���R���p�C���Ƃ������̂Ȃ̂ł����A ���̐擪���u@�v�Ȃ̂ŁADOS�́u@�v�Ƌ����ł��Ă���̂ł��B

1�s�ڂ́u/*�v�ŁAJScript�́u*/�v�܂ŃR�����g�ɂȂ�܂��B �t��DOS�̕��́uGOTO :EOF�v�ŏ����I���ɂȂ�̂ŁA �O����DOS�A�㔼��JScript�̏������L�ڂł��܂��B

WSH(JScript)�̋N������DOS�Ŏ󂯂����������ׂēn���Ă��܂��̂� ��������ɏ������邱�Ƃ��”\�ł��B

�ȉ��́A�ȒP�ȃT���v���ł��B

@if (1==1) /*
@ECHO OFF
rem ========================================================
rem = MS-DOS ����
rem ========================================================

rem �����ݒ�
SET SCRIPT=CScript //Nologo //E:JScript "%~f0"

rem �������擾
FOR /F %%i IN ('%SCRIPT% "%%m/%%d"') DO SET TODAY=%%i

rem �������o��
ECHO ������%TODAY%�ł��B

GOTO :EOF
rem */
@end

/** ========================================================
  *  JavaScript ����
  * ========================================================
 **/
// �又���̌Ăяo��
WScript.quit(main(WScript.arguments.length
                , WScript.arguments));

// �����t���t�擾����
function getDate( fmt ) {
    function _zero( val, len ) {
        for ( var i = 0; i < len; i++ ) {
            val = "0" + val;
        }
        return val.substr( val.length - len, len );
    }
    if ( ! fmt ) fmt = "%Y/%m/%d %H:%M:%S";
    var now = new Date();
    fmt = fmt.replace( "%Y", now.getFullYear() );
    fmt = fmt.replace( "%m", _zero(now.getMonth() + 1, 2) );
    fmt = fmt.replace( "%d", _zero(now.getDate() + 1, 2) );
    fmt = fmt.replace( "%H", _zero(now.getHours() + 1, 2) );
    fmt = fmt.replace( "%M", _zero(now.getMinutes() + 1, 2) );
    fmt = fmt.replace( "%S", _zero(now.getSeconds() + 1, 2) );
    return fmt;
}

// �又��
function main( argc, argv ) {
    if ( argc > 0 ) {
        WScript.echo( getDate( argv(0) ) );
    } else {
        WScript.echo( getDate() );
    }
}

���s���ʂ͈ȉ��̂悤�ɂȂ�܂��B

C:\>test.bat
������02/27�ł��B

DOS�ł͓�������t�̓��t��JScript�ō쐬���Ă݂܂����B

MS-DOS�Ńe�L�X�g�̓��e���s�ԍ��t���ŕ\������

DOS�ɂ́ALinux�́ucat -n�v�̂悤�� �e�L�X�g�f�[�^�� �s�ԍ���t���ĕ\������R�}���h������܂���B

����́AFIND �R�}���h���g���Ď������Ă݂܂��B

FIND �R�}���h�́A�t�@�C����W�����͂̓��e���� �L�[���[�h���܂܂��s��Ԃ��Ă����R�}���h�ł��B ���K�\�����g���Ȃ� grep �R�}���h�݂����Ȃ��̂ł��B

���Ƃ��΁A���̂悤�ȃe�L�X�g�t�@�C�� test.txt ������܂��B

����������
�J�L�N�P�R
���������������‚Ă�
�@�Ȃɂʂ̂�
�@�@�͂Ђӂւ�
��
��
��
������
�킨��

TYPE �R�}���h�ŊJ���āAFIND �R�}���h�Ƀp�C�v���܂��B

C:\>TYPE test.txt | FIND /N /V "/////"
[1]����������
[2]�J�L�N�P�R
[3]���������������‚Ă�
[4]�@�Ȃɂʂ̂�
[5]�@�@�͂Ђӂւ�
[6]��
[7]��
[8]��
[9]������
[10]�킨��

�e�s�ɍs�ԍ����t���ďo�͂���܂����B

FIND �R�}���h�� /N �́A�s�ԍ���t����I�v�V�����B /V �́A�����Ɂg��v���Ȃ��h�ꍇ�Ɍ��ʂ�Ԃ��I�v�V�����ł��B

�‚܂�A�e�L�X�g�f�[�^�̒��ɐ�΂ɑ��݂��Ȃ�������������ɂ��� �u����ȊO�̍s�v���u�S�Ă̍s�v���擾���Ă���킯�ł��B

MS-DOS�ŃR�}���h�̎��s���ʂ�ϐ��ɓ����

UNIX/Linux�ł́A�R�}���h�̎��s���ʂ͊ȒP�ɕϐ��ɓ���邱�Ƃ��ł��܂��� DOS�ł́A������ƍH�v���K�v�ł��B

�Ƃ����Ă��A�����Ύ����݂����Ȃ��̂Ȃ̂ł��B �����̃J�M�� FOR �R�}���h�ł��B ���̃T���v���ł́A�uTIME /T�v�̌��ʂ� ���[�J���ϐ� NOWTIME �ɓ���Ă��܂��B

C:\>FOR /F "usebackq" %t IN (`TIME /T`) DO SET NOWTIME=%t
C:\>ECHO NOWTIME=%NOWTIME%
NOWTIME=21:57

/F �́AIN �̌��ʂ⃊�X�g��1�s����������I�v�V�����ł��B 1�s���Ƃ� DO �ȉ��̃R�}���h���J��Ԃ��킯�ł����A �R�}���h�̎��s���ʂ�1�s�Ȃ̂ŁA1�񂾂��l���Z�b�g����܂��B

"usebackq" �́A �R�}���h���݂̈͂ɁA"`"�i�o�b�N�N�H�[�e�[�V�����j�� �g�p����I�v�V�����ł��B ���̃I�v�V������t���Ȃ��ꍇ�A���̂悤�� �V���O���N�H�[�e�[�V�����ŁA �R�}���h���݂͂܂��B

C:\>FOR /F %t IN ('TIME /T') DO SET NOWTIME=%t

UNIX/Linux �̂悤�Ɂu�R�}���h�̎��s�̓o�b�N�N�H�[�e�[�V��������ˁv���� �l�́A���̃I�v�V������t���Ă��������B

�o�b�`�t�@�C���ɏ����Ƃ��́A���̂悤�ɏ����܂��B

@ECHO OFF
FOR /F "usebackq" %%t IN (`HOSTNAME`) DO SET HNAME=%%t
ECHO %HNAME%

FOR �R�}���h���� "%" �� "%%" �ɂ��Ȃ��Ă͂Ȃ�܂���B

HOSTNAME �́A �z�X�g�����o�͂���R�}���h�ł��B WindowsXP�ȏ�ŁA�C���^�[�l�b�g�v���g�R���iTCP/IP�j�� �C���X�g�[������Ă���Ǝg�p�ł��܂��B �i�z�X�g�����~���������Ȃ�΁A�‹��ϐ� %COMPUTERNAME% ������܂��j

�g���q���ȗ����Ă����s�ł��郏�P

DOS�v�����v�g�ł́A exe�̎��s�t�@�C����A bat�̃o�b�`�t�@�C���́A �g���q���ȗ����Ă����s���邱�Ƃ��ł��܂��B

�ȗ����Ď��s�ł���g���q�� �‹��ϐ� PATHEXT �ŁA��`����Ă��܂��B �R�}���h�v�����v�g�ŁA�ȉ��̂悤�ɑł��Ē��ׂ܂��B

C:\>SET PATHEXT
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

SET �́A �‹��ϐ���ݒ�E�Q�Ƃ���R�}���h�ł��B �����Ɋ‹��ϐ�����t����ƁA���̒l��\�����邱�Ƃ��ł��܂��B ��������t���Ȃ��ƁA�S�Ă̊‹��ϐ��ƒl��\�����܂��B

�ȉ��̂悤�Ɋg���q�����Ⴄ�t�@�C��������ꍇ�A �t�@�C���������Ŏ��s����ƁA �‹��ϐ� PATHEXT �� ��`����Ă��鏇�ԂŎ��s���܂��B

C:\>DIR /A:A /B
test.bat
test.vbs
test.wsh

C:\>test
I'm test.bat!  �� test.bat �����s���ꂽ

���̏ꍇ�Atest.com�i�����j�� test.exe�i�����j�� test.bat�i�L��j�̏��ԂŒT���܂��B �����Atest.bat ���폜����ƁA���̌������� test.vbs �����s�����킯�ł��B

�V�����ȗ��������g���q������ꍇ�́A���̊‹��ϐ� PATHEXT �� �lj�����ƁA�g���q�Ȃ��Ŏ��s�ł���悤�ɂȂ�܂��B

���Ȃ݂Ɍ�������p�X�i�ꏊ�j�́A�‹��ϐ� PATH �� ��`����Ă��鏇�Ԃł��B �‚܂�APATH �Œ�`����Ă��錟������p�X�̏��ԂɁA PATHEXT �Œ�`����Ă���g���q�̏��ԂŒT���Ă����킯�ł��B

�ȒP�Ƀt�H���_�̃c���[�}���쐬����

�����Љ��̂́ADOS�R�}���h���g���� �ȒP�Ƀt�H���_�̃c���[�}���쐬���鏬�l�^�ł��B �i�e���r�V���b�s���O�̃m���Łj

�܂��́A�ȉ��̓��e�Łuctree.bat�v���쐬���܂��B �ʂɃo�b�`�t�@�C�����쐬����K�v�͖����̂ł��� ���������Ȃ̂ł��‚ł��g����悤�Ƀt�@�C���� ���Ă����܂��B

�]�k�ł����A�o�b�`�t�@�C������ �R�}���h�Ɠ����itree.bat�j�̂悤�ɂ��Ă��܂��� �R�}���h���s���Ƀo�b�`�t�@�C���̕��� �Ă΂�Ă��܂��̂� �R�}���h�Ƃ͕ʂ̖��O��t���܂��傤�B

@ECHO OFF
ECHO ^<pre^>
TREE
ECHO ^</pre^>

ECHO �̌��ɏo�Ă��� "^"�i�L�����b�g�j�́A DOS�p�̃G�X�P�[�v�����ł��B

">" �� "<" �� ���_�C���N�g�p�̓��ꕶ���Ȃ̂ŁA �o�͂���ꍇ�́A�G�X�P�[�v���Ȃ���΂Ȃ�܂���B

TREE �� �t�H���_�̊K�w�����o�I�ɕ\�����Ă����R�}���h�ł��B

C:\>TREE         �� ���݂̃t�H���_�ȉ����o��
C:\>TREE \       �� ���݂̃h���C�u�ȉ����o��
C:\>TREE c:\test �� �w��̃t�H���_�ȉ����o��
C:\>TREE /F      �� �t�@�C�����o��

��قǂ́uctree.bat�v�����s���܂��B

D:\Photo Files>ctree.bat > tree.html

�쐬���ꂽ�utree.html�v��Web�u���E�U�ŊJ���� ���̂悤�Ƀt�H���_�̊K�w���\������܂��B

�t�H���_ �p�X�̈ꗗ:  �{�����[�� ���[�J�� �f�B�X�N
�{�����[�� �V���A���ԍ��� 00000000 0000:0000 �ł�
D:.
�������
�����Ƒ����s
��  ����2005�N_���H
��  ����2006�N_���H
��  ����2007�N_����
��  ����2008�N_�k��B
�����v���C�x�[�g
    �����F�l
    �����H�H

�����A���ꂾ�ƃt�H���_�̃p�X���\������Ȃ��̂� �uctree.bat�v��������Ɖ������܂��B

@ECHO OFF
ECHO %CD%
ECHO.
ECHO ^<pre^>
TREE
ECHO ^</pre^>

%CD% �� ���݂̃t�H���_�̃p�X���i�[����Ă���ϐ��ł��B

D:\Photo Files

�t�H���_ �p�X�̈ꗗ:  �{�����[�� ���[�J�� �f�B�X�N
�{�����[�� �V���A���ԍ��� 00000000 0000:0000 �ł�
D:.
�������
�����Ƒ����s
��  ����2005�N_���H
��  ����2006�N_���H
��  ����2007�N_����
��  ����2008�N_�k��B
�����v���C�x�[�g
    �����F�l
    �����H�H

1�s�ڂɁA�t�H���_�̃p�X���\�������悤�ɂȂ�܂����B

MS-DOS�ŋ�s���o�͂���

�ӊO�ƒm���Ă��Ȃ���s�̏o�͂ł��B

�ʏ�A���b�Z�[�W�̏o�͂ɂ� ECHO �R�}���h���g�p���܂����A ���̃R�}���h�������Ȃ��Ŏ��s���Ă���s�͏o�͂���܂���B

C:\> ECHO
ECHO �� <ON> �ł��B

C:\> ECHO �Q ���S�p�X�y�[�X
ECHO �� <ON> �ł��B

C:\> ECHO " "
" "

���͋�s��\������ɂ́A ECHO. �ƁA�s���I�h��t���Ă��܂��B

C:\> ECHO.

���Ȃ݃s���I�h�� ECHO �Ɨ����ď����� ���ʂɃs���I�h���o�͂���Ă��܂��܂��̂� ���ӂ��Ă��������B

C:\> ECHO .
.

MS-DOS�̃o�b�`�t�@�C���ŃT�u���[�`�����g��

DOS�o�b�`�t�@�C���� �T�u���[�`������邱�Ƃ��ł��܂��B

 1: @ECHO OFF
 2: 
 3: CALL :HOGEHOGE 1
 4: CALL :HOGEHOGE 2
 5: CALL :HOGEHOGE 3
 6: 
 7: GOTO :EOF
 8: :HOGEHOGE
 9: ECHO %1

��̃o�b�`�t�@�C�������s����Ɖ��̂悤�ȏo�͌��ʂɂȂ�܂��B

C:\> TEST1.BAT
1
2
3

3�`5�s�ڂ�CALL��8�s�ڂ�HOGEHOGE���x���ɃW�����v���܂��B CALL�́A�o�b�`�t�@�C���̍Ō�ɗ���ƁA�Ăяo�����ɖ߂�܂��̂ŁA 3��8��9��4��8��9��5��8��9����Ə������ڂ�܂��B

7�s�ڂ�:EOF�́A�ŏ�����ݒ肳��Ă��郉�x���ŁA�t�@�C���̍Ō�������Ă��܂��B 5�s�ڂ̏����̌�ɁA 8�s�ڂɏ������ڂ�Ȃ��悤�ɂ��Ă��܂��B

9�s�ڂ� %1���g�p���Ēl���擾���Ă��܂����A CALL�̌Ăяo���ɂ͈������w��ł� %1,%2����Ɠ����Ă��܂��B

�T�u���[�`���𕡐��g���Ƃ��́A ���̂悤�ɏ����܂��B

@ECHO OFF

CALL :HOGEHOGE1 1
CALL :HOGEHOGE2 2

GOTO :EOF
:HOGEHOGE1
ECHO %1

GOTO :EOF
:HOGEHOGE2
ECHO %1

������Ɖ��������C���ɂЂ��鏬�l�^

WindowsXP�ŁA���R���‚������l�^�ł��B

�܂��A �u�t�@�C�����w�肵�Ď��s�v�Ȃǂ� �ucmd�v�Ƒł��� DOS�v�����v�g���N�����܂��B

�N��������A �����ނ�� [Alt]+[Enter]�������Ă��������B DOS�v�����v�g���S��ʕ\���ɂȂ�܂��B

�u���‚����̉�ʌ��Ă��Ȃ��c�v�� ���������C���ɂȂ�܂����B

���Ȃ݂ɁA���ɖ߂��Ƃ����A[Alt]+[Enter]�ł��B