Windows10で オリジナルファイラーと一緒に dosboxを使ってみたよ

Pocket

Windows10で オリジナルファイラーと一緒に dosboxを使ってみたよ
Windows10でオリジナルファイラーと一緒にdosboxを使ってみたよ

イントロ

はい。

dosboxというDOSエミュレータを使ってます。↓

なかなか快適にDOSが動きます。

WindowsXPのDOS窓よりも、グラフィックス処理でCPUに負荷をかけないようで、大変助かっています。

Vzのファイラーモードでも、CPUは食わないようです。

XPのDOS窓と違って「ATOK8」が使えますし!!!

同時に、Winでシェルとして使う「KeyCommander」というファイラーを開発しています。

まあ、「FileVisor」があれば、シェルとしては十分なのですが。↓

dosbox+KeyCommanderのシェル環境

ただ、KeyCommanderは、ファイラー機能の他に、コマンドライン機能を付けてます。

コマンドラインで実行ファイル名を入力しEnterを押下すると、その実行ファイルをWindows10のDOS窓であるCMDの画面で実行するというものです。

まあ、「.cmd」ファイルで実行しているだけですが。

ただ、この「.cmd」でdosboxも呼び出せます。

今のところ、dosboxを起動するコマンドラインは、以下のようなexec.cmdコマンドです。

set pg="c:\dos220\exec.bat" %1 %2 %3 %4 %5 %6 %7 %8 %9
rem D:\220again_dosbox\dos220\dosbox.exe -c "mount c d:\220again_dosbox" -c "mount d d:\\" -c "c:"  -c "%pg%
D:\220again_dosbox\dos220\dosbox.exe -noautoexec -conf "D:\220again_dosbox\dos220\dosbox.conf" -c "mount c d:\220again_dosbox" -c "c:\dos220\chej\chej jp" -c "mount d d:\\" -c "d:"  -c "%pg%"

「-noautoexec」オプションをつけておくと、「-c <コマンド>」のオプションが有効になり、そのコマンドが実行されます。

「-noautoexec」オプションをつけていないと、「autoexec.bat」が実行され、「-c <コマンド>で指定したコマンドが実行されません。このあたり注意が必要です。

「220again」とあるのは、自分が昔、「ThinkPad220」というノートパソコンでDOSを使っていて、そのデータをバックアップ保存していたものをまだ使っているからです。

「%1 %2 %3 %4 %5 %6 %7 %8 %9」とshiftを使ってないのはご愛敬で、そのうちshiftを使います。

「exec.bat」は以下のようです。

@echo off
rem *************************************************
rem  Autoexec.bat for 220again
rem *************************************************
REM loadhigh C:\WINDOWS\nlsfunc.exe d:dos220\country.sys
REM SET PATH=C:\PROGRA~1\NORTON~1;C:\PROGRA~1\BORLAND\CBUILDER\BIN
REM SET LMOUSE=C:\PROGRA~1\MOUSE

C:\dos220\fontn\fontnx /P=C:\dos220\font\
C:\dos220\dispv\dispvb
C:\dos220\chej\chej jp
C:\dos220\dispv\vmx 70

rem ADDDRV C:\DOS220\ATOK.SYS
rem ADDDRV C:\DOS220\ATOKA.SYS /UCF=c:\dos220\appli\ATOK8\ATOK8.UCF

rem atok.bat

mngdev atok

rem LOADHIGH c:\dos220\DOS\NLSFUNC.EXE d:\dos220\DOS\COUNTRY.SYS

rem SET COMSPEC=c:\dos220\COMMAND.COM /p /e:4096

rem loadhigh c:\fontn\fontnx /p=d:\220again\font\
rem loadhigh c:\fontn\fontnx /p=d:\220again\dosemu\
rem loadhigh d:\220again\DOS\$DISP.SYS /HS=lc
rem loadhigh c:\dispv\dispvb.exe /f1 /hs=all
rem LOADHIGH d:\220again\DOS\NLSFUNC.EXE d:\220again\DOS\COUNTRY.SYS >nul
rem chej\chej jp

rem adddrv atok.sys

REM call dosime.bat

@echo off
rem ------ 総合環境
set ROOT=c:\dos220
set HOME=c:\dos220
set ZIP=z:
set CDROM=d:
set TMP=c:\dos220\tmp
set TMP=c:\dos220\tmp
set WORK=%TMP%
SET TZ=JST-9
set LOGNAME=KaBA
set PAGER=less

rem ------ PATH
PATH %PATH%;%ROOT%\usr;%ROOT%\bat;%ROOT%\mml\lsic\bin;D:\bin

rem ------- 補助環境
PROMPT [COM]$P$G
set VmtMode=70 80,34
set YGVIEWR=more
set pager=less
set 5dsp=%home%\dic\5tk
set editor=vz
set manpath=%root%\man
SET SCSI_UTILITY=%root%\util\ZIPTOOLS
set lsoptions=-cCF

rem ------ GNU-Win 環境
rem set GCC_EXEC_PREFIX = D:\sygnus\H-i386-cygwin32\lib\gcc-lib\
rem path %path%;d:\cygnus\H-i386-c\bin
rem path d:\cygnus\H-i386-cygwin32\bin;%path%

rem ------ Vz 環境
set vzdef=%ROOT%\vz\macro\kabaibm2.def
set vzbak=\trash
set vzdir=%ROOT%\vz
set vzpath=%ROOT% %ROOT%\home\work %ROOT%\vz\macro %ROOT%\term\ktx\pool %ROOT%\term\ktx\macro\autonif %HOME%\home\pim %ZIP%\log
set lxschd=/S:C:\dos220\pim\lxschd\ /D:c:\220again\pim\lxschd\ /F:10 /A:+

rem ----- Ktx 環境
set autonif=%ROOt%\term\ktx\macro\autonif
set ledscr=%ROOT%\term\led\spt
set ledout=d:\log

rem ----- XTR 環境
rem set data=
rem set sedfile=%ROOT%\appli\xtr\tex2xtr
rem set xtrpath=%ROOT%\appli\xtr\macro

rem ----- Awk Environment
set awkpath=%ROOT%\bat\awk
set awklib=%ROOT%\bat\awk\awklib
set s2fmacro=%ROOT%\bat\awk
set s2fhostdb=%ROOT%\bat\awk

rem ----- TeX 環境
set go32=ansi handle 30
REM set TEXINPUTS=.;c:/appli/jtex/jmacros;c:/appli/jtex/macros
set go32TMP=c:\dos220\tmp
REM set TEXPOOL=c:/appli/jtex/bin
REM set TEXFORMATS=.;c:/appli/jtex/bin
REM set TEXFONTS=c:/appli/jtex/jfms;c:/appli/jtex/tfm
REM set TEXEDIT=edlin
rem set TEXEDIT=mifes %s+%d
rem ↑ エラーの際 E と入力したときに起動するエディタの指定。%s の部分にファイ
rem    ル名、%d の部分に行番号が代入されてエディタが起動されます。(注10)標準で
rem    はパスデリミタは \ に変換してエディタに渡されます。また、%S と大文字で
rem    書くとパスデリミタが / のままでエディタにわたされます。

rem ------ Dviout 環境
REM set TEXPK=c:\appli\jtex\pkfont\^d\^s.pk;c:\appli\jtex\jfms\^s.tfm
rem set TEXKNJ=c:\appli\jtex\jfonts\kanji^d.pk
REM set TEXCFG=c:\appli\jtex\bin

rem ------ TSR 環境 (Windows 起動時)
vwx -m1 -x3 -v3
rem mode con rate=32 delay=1

rem ------ TSR環境 (220Again起動時)
REM ctrlcaps
REM vfat

rem ------ goto HOME
cd %root%

REM ------ go into getty.bat pseudo login shell
rem getty.bat

rem %root%\ksh

rem %root%vz\vwx.com

c:\dos220\chej\chej jp

cd d:\
d:
%1 %2 %3 %4 %5 %6 %7 %8 %9

「exec.bat」は、ほぼ「autoexec.bat」のすべき初期化処理をそのまま行って、最後に、「%1 %2 %3 %4 %5 %6 %7 %8 %9」で、引数のコマンドを実行しているだけです。

ここでもshiftを使ってないのはご愛敬で。。。(^^;

dosboxの1行コマンド-cオプションでdirのみ呼び出したところ
dosboxの1行コマンド-cオプションでdirのみ呼び出したところ

KeyCommanderのコマンドラインでは、「$c」は選択している(「*」が付いている)ファイルのファイル名に置換されます。


dosboxに短いファイル名(SFN)を与える

ただ、DOS(dosbox)にLongFileNameを渡すと認識できないため、以下のサイトのサンプルコードを参考にShortFileNameに変換しています。あ、C#で開発しています。

using System;

using System.Runtime.InteropServices;

using System.Text;

public class _Main

{

          [DllImport("kernel32.dll", CharSet = CharSet.Auto)]

          public static extern int GetLongPathName(

                   [MarshalAs(UnmanagedType.LPTStr)]

                   string path,

                   [MarshalAs(UnmanagedType.LPTStr)]

                   StringBuilder longPath,

                   int longPathLength

                   );

          public static void Main()

          {

                   StringBuilder longPath = new StringBuilder(255);

                   GetLongPathName(@"D:\MYTEMP~1\RESOUR~1\sql.txt", longPath, longPath.Capacity);

                   Console.WriteLine(longPath.ToString());

          }

}

Long to short:

using System;

using System.Runtime.InteropServices;

using System.Text;

public class _Main

{

          [DllImport("kernel32.dll", CharSet = CharSet.Auto)]

          public static extern int GetShortPathName(

                   [MarshalAs(UnmanagedType.LPTStr)]

                   string path,

                   [MarshalAs(UnmanagedType.LPTStr)]

                   StringBuilder shortPath,

                   int shortPathLength

                   );

          public static void Main()

          {

                   StringBuilder shortPath = new StringBuilder(255);

                   GetShortPathName(@"D:\My Temp\ResourseProvider\sql.txt", shortPath, shortPath.Capacity);

                   Console.WriteLine(shortPath.ToString());

          }

}

KeyCommannderの呼称

ちなみに、「KeyCommander」の愛称というか呼称は「KY中佐」です。

英語で「Coammander=中佐」なので、「KY中佐」です。(押すなよ・・・

コマンドラインでは、フォルダ名補完機能やヒストリ機能、エイリアス機能などを実装しています。

またファイラーと連携していて、「*」マークを付けたファイルすべてに1個1個ずつコマンドラインの実行を繰り返したり、ファイラーのカレントフォルダ名やファイル名をコマンドラインで参照できたりします。

アウトロ

他にも、色々機能を追加していく予定です。

dosboxとの連携も強化したいですね。

加えてcygwinとの連携も図りたいところです。

KY中佐は、後ほど、このサイトでフリーウェアとして公開する予定です。

それではー またー (^_^)/

=== 2019/03/03 追記 ===

dosemu.confの[cpu]セクションにある"cycles" (CPUサイクル) を"auto"から変更し、"fixed 9000"にしました。

そうしたところ、Vzのファイラーの動作速度が改善しました。

皆さんも、ご自身のPCのスペックに合ったdosemuが消費するCPUサイクルを設定されてみると宜しいかもしれません。

大きく設定するとdosemuの動作速度が速くなります。

"fixed"は「同速度を固定する」「固定周期でCPU時間を消費する」の意味です。

なお、私のPCのCPUのスペックは、「低消費電力版第6世代Corei5」です。
このCPUは、「第3世代Corei5」以下の能力しか発揮できません。
そのような、ある意味スペックの低いPCでもそこそこ動作が軽快です。

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and
#            appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed amount of cycles. This is what you usually
#                              need if 'auto' fails (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to
#                              handle.
#            Possible values: auto, fixed, max.
#   cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=auto
cputype=auto
#cycles=auto
cycles=fixed 9000
cycleup=10
cycledown=20

=== 2018/6/10 追記 ===

dosemu.confの設定によっては、動かない場合もあるかもしれません。

自分の環境で動作した dosemu.conf を以下に添付します。

特に、下記グラフィックス設定が重要かもしれません。

[dosbox]
# language: Select another language file.
#  machine: The type of machine DOSBox tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=
machine=svga_s3
#machine=svga_et4000
captures=capture
memsize=16

dosemu.conf:

# This is the configuration file for DOSBox SVN. (Please use the latest version of DOSBox)
# Lines starting with a # are comment lines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
#       fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
#       fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
#   fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
#                     Using your monitor's native resolution with aspect=true might give the best results.
#                     If you end up with small window on a large screen, try an output different from surface.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
#                     (output=surface does not!)
#           output: What video system to use for output.
#                   Possible values: surface, overlay, opengl, openglnb, ddraw.
#         autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
#      sensitivity: Mouse sensitivity.
#      waitonerror: Wait before closing the console if dosbox has an error.
#         priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
#                     pause is only valid for the second entry.
#                   Possible values: lowest, lower, normal, higher, highest, pause.
#       mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.

fullscreen=false
#fulldouble=false
fulldouble=true
fullresolution=original
#fullresolution=1024x768
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-SVN.map
usescancodes=true

[dosbox]
# language: Select another language file.
#  machine: The type of machine DOSBox tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=
machine=svga_s3
#machine=svga_et4000
captures=capture
memsize=16

[render]
# frameskip: How many frames DOSBox skips before drawing one.
#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
#    scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
#            then the scaler will be used even if the result might not be desired.
#            Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.

frameskip=0
#aspect=false
aspect=true
scaler=normal2x
#scaler=normal3x

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and
#            appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed amount of cycles. This is what you usually
#                              need if 'auto' fails (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to
#                              handle.
#            Possible values: auto, fixed, max.
#   cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=auto
cputype=auto
cycles=auto
#cycles=fixed 9000
cycleup=10
cycledown=20

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=1024
prebuffer=20

[midi]
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
#             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
#               or in the case of coreaudio, you can specify a soundfont here.
#               When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
#               In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
#               See the README/Manual for more details.

mpu401=intelligent
mididevice=default
midiconfig=

[sblaster]
#  sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
#  sbbase: The IO address of the soundblaster.
#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#     irq: The IRQ number of the soundblaster.
#          Possible values: 7, 5, 3, 9, 10, 11, 12.
#     dma: The DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
#    hdma: The High DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
#          Possible values: auto, cms, opl2, dualopl2, opl3, none.
#  oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
#          Possible values: default, compat, fast.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
#          Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[gus]
#      gus: Enable the Gravis Ultrasound emulation.
#  gusrate: Sample rate of Ultrasound emulation.
#           Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#  gusbase: The IO base address of the Gravis Ultrasound.
#           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
#   gusirq: The IRQ number of the Gravis Ultrasound.
#           Possible values: 5, 3, 7, 9, 10, 11, 12.
#   gusdma: The DMA channel of the Gravis Ultrasound.
#           Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
#           there should be a MIDI directory that contains
#           the patch files for GUS playback. Patch sets used
#           with Timidity should work fine.

gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
#    pcrate: Sample rate of the PC-Speaker sound generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#            Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
#               2axis (supports two joysticks),
#               4axis (supports one joystick, first joystick used),
#               4axis_2 (supports one joystick, second joystick used),
#               fcs (Thrustmaster), ch (CH Flightstick).
#               none disables joystick emulation.
#               auto chooses emulation depending on real joystick(s).
#               (Remember to reset dosbox's mapperfile if you saved it earlier)
#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
#        timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
#     autofire: continuously fires as long as you keep the button pressed.
#       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
#   buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# serial1: set type of device connected to com port.
#          Can be disabled, dummy, modem, nullmodem, directserial.
#          Additional parameters must be in the same line in the form of
#          parameter:value. Parameter for all types is irq (optional).
#          for directserial: realport (required), rxdelay (optional).
#                           (realport:COM1 realport:ttyS0).
#          for modem: listenport (optional).
#          for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                         transparent, port, inhsocket (all optional).
#          Example: serial1=modem listenport:5000
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support. The default (=true) provides the best
#                 compatibility but certain applications may run better with
#                 other choices, or require EMS support to be disabled (=false)
#                 to work at all.
#                 Possible values: true, emsboard, emm386, false.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=jp

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c d:\220again_dosbox
mount d d:\
mount e d:\cygwin64
c:
cd c:\dos220
autoexec.bat
#d:
#cd d:\
#c:\dos220\exec.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

Windows XP/2000コマンドプロンプト ポケットリファレンス ★★★★

はい。

まだ、DOSと互換性のあった時代のWndowsXP/2000のコマンドプロンプト「cmd.exe」の解説・ポケットリファレンスです。

内容は簡潔に記載されていて、索引から引いていくことで、使い方が簡単に分かります。

また、目次から一覧を見て、「cmd.exe」でできる機能、また他のDOS/Windwosコマンドがざっと把握できます。

機能的には、それほど多くないのですが、バッチファイルを運用できるメリットがあり、VBScriptやPowerShellなどと並んで、Windowsの便利機能を提供してくれます。

コマンドはほぼDOS当時のコマンドと互換性があります。

過去の資産をお持ちなら、有効に活用できますね!お持ちでない方も、使っていくうちに、資産になってくると思います。

 

https://amzn.to/2KkDYW7
コマンドラインプロンプト ★★★

はい。

Windowsのコマンドラインプロンプトのポケットリファレンスです。

良くも悪くも、DOSの名残を引き継いでいます。

もうWindows10では、16bit版のソフトであるDOSのコマンドは、コマンドプロンプトからは実行できません。

バッチファイルも「bat」から「cmd」に変更になっています。

もし、昔のコマンドラインツールを再現して資産として使ってみたいなど、有益であれば、この本をお買い求めになると良いかと思います。