为更改到一个新的目录,使用 CD目录和目标目录:
C:\>cd filesC:\FILES>cd sprdshtC:\FILES\SPRDSHT>dirVolume in drive C is FREEDOS2022Volume Serial Number is 333D-0B18 Directory of C:\FILES\SPRDSHT .
你不必一次导航一层目录。相反,你可以使用一个 CD命令和提供完整的你想要更改到的目录路径:
C:\>cd \files\sprdshtC:\FILES\SPRDSHT>dirVolume in drive C is FREEDOS2022Volume Serial Number is 333D-0B18 Directory of C:\FILES\SPRDSHT .
GRAPHICS支持不同的打印机类型,包括 HP 的 PCL 打印机、Epson 的点阵打印机,和兼容 PostScript 的打印机。例如,如果有一台连接到你的计算机的 HP 的激光打印机,你可以通过输入这条命令来为这台打印机加载支持:
C:\>graphics hpdefaultRunning in MS GRAPHICS compatibility mode...Using HPPCL type for type hpdefault If you think this is not correct, mail me (see help text).Printing black as white and white as blackwhich internally uses /I of this GRAPHICS.You can use the following command directly instead ofGRAPHICS [your options] in the future:LH GRAPH-HP /INote that GRAPH-HP allows extra options: /E economy mode, /1 use LPT1, /2 use LPT2, /3 use LPT3, /R for random instead of ordered dither /C for 300dpi instead of 600dpiDriver to make 'shift PrtScr' key workeven in CGA, EGA, VGA, MCGA graphicsmodes loaded, in HP PCL mode.
你可以使用 IF语句来将条件语句添加到你的命令行或批处理文件。IF进行一次简短的测试,然后执行一个单个命令。例如,如果存在某个文件,那么打印结果 “It's there”,你可以输入:
C:\>if exist kernel.sys echo It's thereIt's there
如果你想要测试相反的东西,在测试内容前,使用 NOT关键字。例如,如果两个字符串的值不相同,那么打印结果 “Not equal” ,输入这条语句:
C:\>if not "a"=="b" echo Not equalNot equal
J 是 JOIN
早期的 DOS 版本是相当简单的;DOS 的第一个版本甚至不支持目录。为向这些较旧的程序提供向后兼容性,我们需要 JOIN程序来作为一种巧妙的应变方法。JOIN使用驱动器字母代替路径,这样,你可以将旧程序放入其自己的子目录中,但是,使用一个单个驱动器字母来访问它。
让我们假设你有一个名称为 VC的旧应用程序,它不懂目录。为保持VC的工作,你可以将它的路径 连接join 到一个驱动器字母。例如:
JOIN V: D:\VC
FreeDOS 将 JOIN实施为SWSUBST,它也兼备类似SUBST命令的特色功能。为将D:\VC路径链接到到一个名称为V:的驱动器字母,输入:
C:\>swsubst v: d:\vcC:\>dir v:Volume in drive V is DATAVolume Serial Number is 212C-1DF8Directory of V:\.
为分配一个新的标签到一个驱动器。或者更改在一个驱动器上的现存标签。像这样使用标签:
D:\>label d: dataD:\>dir /wVolume in drive D is DATAVolume Serial Number is 212C-1DF8Directory of D:\[123] [ABILITY] [ASEASY] [GAMES2] [QUATTRO][SRC] [TEMP] [THE] [VC] [WORD][WS400] EDLIN16.EXE EDLIN32.EXE MYENV.BAT3 file(s) 113,910 bytes11 dir(s) 48,306,176 bytes free
M 是 MEM
运行程序和加载驱动程序会占用内存。可以查看你的系统有多少内存,以及有多少可用来运行 DOS 程序,使用 MEM命令:
C:\>memMemory Type Total Used Free---------------- -------- -------- --------Conventional 639K 11K 628KUpper 104K 18K 86KReserved 281K 281K 0KExtended (XMS) 15,224K 537K 14,687K---------------- -------- -------- --------Total memory 16,248K 847K 15,401K Total under 1 MB 743K 29K 714K Total Expanded (EMS) 8,576K (8,781,824 bytes)Free Expanded (EMS) 8,192K (8,388,608 bytes) Largest executable program size 628K (643,104 bytes)Largest free upper memory block 84K ( 85,728 bytes)FreeDOS is resident in the high memory area.
FreeBASIC 编译器可以编译外来的大多数 QBASIC 程序。这里有一个简单的 “猜数” 示例:
dim number as integerdim guess as integerrandomize timernumber = int( 10 * rnd ) + 1print "Guess the number from 1 to 10:"doinput guessif guess number then print "Too high"loop while guess numberprint "That's right!"
使用 FBC命令来编译 FreeBASIC 程序:
C:\DEVEL\FBC>fbc guess.bas
这里是这个简单游戏的快速演示:
C:\DEVEL\FBC>guessGuess the number from 1 to 10:? 5Too high? 3Too low? 4That's right!
R 是 REM
在编写程序时,注释是极好的;注释帮助我们理解程序应该要做什么。可以在批处理文件中使用 REM来做同样的事。在批处理文件中,在REM的后面的任何东西都将会被忽略。
REM this is a comment
S 是 SET
FreeDOS 命令行使用一系列称为 环境变量environment variables 的变量,让你来自定义你的系统。你可以使用 SET命令来设置这些变量。例如。使用DIRCMD变量来控制DIR如何排列目录列表。为设置DIRCMD变量,使用SET命令:
SET DIRCMD=/O:GNE
这告诉 DIR先按照目录分组(G)来排序(O)输出,然后再按照名称(N)和扩展名(E)来排序结果。
T 是 TYPE
TYPE命令是最常使用的 DOS 命令之一。TYPE显示一个文件的内容,类似于在 Linux 上的cat。
C:\DEVEL>type hello.c#include intmain{puts("Hello world");return 0;}
U 是 UNZIP
在 Linux 上,你可能更熟悉标准的 Unix 存档命令: tar。在 FreeDOS 上也有一个tar版本(和其它大量的流行的存档程序),但是,在 DOS 上的事实上的标准的存档命令是ZIP和UNZIP。两者都默认安装在 FreeDOS 1.3 之中。
比如说,我有一些文件的一个 zip 存档。如果我想提取整个 Zip 文件,我可以只使用 UNZIP命令,并将 Zip 文件作为命令行的选项来提供。这将在我当前工作目录中开始提取存档文件。除非我正在恢复一些东西的先前版本,我通常不希望覆盖我的当前文件。在这种情况下,我将提取存档到一个新的目录。你可以使用-d(“目标destination”)命令行选项来具体指定目标路径:
D:\SRC>unzip monkeys.zip -d monkeys.newWarning: TZ environment variable not found, cannot use UTC times!!Archive: monkeys.zipcreating: monkeys.new/monkeys/inflating: monkeys.new/monkeys/banana.cinflating: monkeys.new/monkeys/banana.objinflating: monkeys.new/monkeys/banana.execreating: monkeys.new/monkeys/putimg/inflating: monkeys.new/monkeys/putimg/putimg.cinflating: monkeys.new/monkeys/putimg/putimg.objinflating: monkeys.new/monkeys/putimg/putimg.exe
为学习更多关于 ZIP和UNZIP命令的信息,可以阅读如何在 FreeDOS 上存档文件。
V 是 VER
在 DOS 的古老岁月中,VER命令会报告你正在运行的 DOS 发行版本,例如:“MS-DOS 5.0.D”。对于 FreeDOS,VER命令将给予你额外的详细信息,例如 FreeDOS Shell 的版本:
C:\DEVEL>verFreeCom version 0.85a - WATCOMC - XMS_Swap [Jul 10 2021 19:28:06]
如果你还想查看 FreeDOS 内核版本和 DOS 兼容性等级,添加 /R选项:
C:\DEVEL>ver /rFreeCom version 0.85a - WATCOMC - XMS_Swap [Jul 10 2021 19:28:06]DOS version 7.10FreeDOS kernel 2043 (build 2043 OEM:0xfd) [compiled May 14 2021]