China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-20 14:33
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » Let non-Chinese character systems display Chinese characters! VtMagiK.COM version 6.30 (supports BCDW) View 17,718 Replies 59
Floor 16 Posted 2008-11-06 14:24 ·  中国 广东 湛江 电信
新手上路
Credits 10
Posts 5
Joined 2007-09-19 08:14
18-year member
UID 97753
Gender Male
Status Offline
The new version's English letter M is too close to other letters.
Floor 17 Posted 2008-11-08 12:06 ·  中国 北京 联通
新手上路
Credits 3
Posts 2
Joined 2008-11-08 11:28
17-year member
UID 130364
Gender Male
Status Offline
Thanks, let's think about this.
Floor 18 Posted 2008-11-25 10:54 ·  中国 江苏 苏州 电信
银牌会员
★★★
Credits 2,227
Posts 790
Joined 2005-01-27 00:00
21-year member
UID 35703
Gender Male
Status Offline
Let non-Chinese systems display Chinese characters! VtMagiK.com version 6.20 of the Mother of Mocai

The Chinese name of VtMagiK.com is changed to the Mother of Mocai——
To be worthy of the name

The first version history of VtMagiK.com is written——
To be proper

Add /B command, restore old code page text from.NEW and.EXE files to files (to the screen when there is an error)——
This is the most thoughtful function in VT series software!

Modify help information;
Add error messages;

Cancel the case distinction of P/I/T commands, change /P/I/T to display commands, /PP/II/TT to generate commands——
Convenient for command line input and batch processing calls.

For detailed instructions, see the attachment! Or the first floor of this post.
Attachments
VtMagiK6.20.zip (10.28 KiB, Credits to download 1 pts, Downloads: 66)
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
Floor 19 Posted 2008-11-27 13:13 ·  中国 江苏 苏州 电信
银牌会员
★★★
Credits 2,227
Posts 790
Joined 2005-01-27 00:00
21-year member
UID 35703
Gender Male
Status Offline
Display Chinese Characters on Non-Chinese Systems! K.COM Version 6.30 (Restore Original + Support BCDW)

1. Add the abbreviation K.com for VtMagiK.com to reduce typing burden for users during testing and use;
2. Add the /W command to support the Chinese menu of BCDW's ChineseN.INI file, generate .NEW and special .FNT;
3. Correct the BUG in the start replacement code setting and detection for -C1;
4. Add prompts when the number of non - repeated Chinese characters exceeds the limit, making it more intuitive;
5. Modify and add help information in many places;
6. Add additional prompts for the /? command to facilitate users in special situations;

[ Last edited by 本是 on 2008-11-27 at 17:28 ]
Attachments
VtMagiK6.30.zip (11.47 KiB, Credits to download 1 pts, Downloads: 419)
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
Floor 20 Posted 2008-11-28 22:28 ·  中国 广东 中山 电信
高级用户
★★★
Credits 940
Posts 374
Joined 2007-10-17 21:51
18-year member
UID 100011
Gender Male
From 湖南张家界
Status Offline
Thanks a lot. Vtmagik has added the function of generating bcdw fonts. Unfortunately, I have too many menu items to make the boot CD this time. The category names alone exceed 64 characters, and there are many sub-menus, so I can't use the bcdw Chinese function for the time being. Thanks a lot for the continuous efforts and dedication of the master Ben!!!...

生命源头 www.shengmingyt.cn
Floor 21 Posted 2008-12-09 23:05 ·  中国 广东 广州 荔湾区 电信
初级用户
Credits 152
Posts 17
Joined 2003-02-12 00:00
23-year member
UID 906
Gender Male
Status Offline
Thanks, let's download and try it.
Floor 22 Posted 2008-12-22 14:18 ·  中国 福建 福州 台江区 电信
初级用户
★★
Credits 119
Posts 59
Joined 2008-11-21 14:07
17-year member
UID 131656
Gender Male
Status Offline
This feels a bit complicated. Need to compile first and then generate....
Floor 23 Posted 2008-12-23 11:07 ·  中国 湖北 荆州 电信
新手上路
Credits 8
Posts 4
Joined 2008-12-22 10:13
17-year member
UID 134591
Gender Male
Status Offline
Thanks, actually still don't know how to use it, heh heh
Floor 24 Posted 2008-12-26 23:39 ·  中国 江苏 苏州 电信
新手上路
Credits 6
Posts 6
Joined 2008-10-20 13:38
17-year member
UID 128841
Gender Male
Status Offline
This is good, learned!
Floor 25 Posted 2008-12-27 16:29 ·  中国 广东 湛江 电信
初级用户
Credits 37
Posts 17
Joined 2008-12-22 20:52
17-year member
UID 134656
Gender Male
Status Offline
The Strongest DOS Command – for (A Good Reference for Novices Learning FOR Statements)

This article is found online. Many friends who are new to DOS are not too familiar with mastering the FOR statement. I hope this article can broaden your thinking and help you learn the FOR statement well. The main parameter introductions and examples are very clear. I also hope you will become more and more interested in DOS –→ Let your imagination run wild

               Start of the Text

I used to think that the command-line function of DOS was too weak and couldn't perform very complex operations like UNIX with command lines. In fact, since MS enhanced the command line starting from WIN2K, it has borrowed quite a lot of advantages from UNIX. Although it can't be as flexible as UNIX, it can already complete most tasks. For example, using && and to connect two (or more) commands, and the next one is executed or not depending on the return value of the previous one, etc. Among these enhancements, the most obvious one is the FOR command.
For example, with appropriate parameters, the output of date /t can be changed from "Sat 07/13/2002" to the format you want, such as "2002-07-13":

c:\>for /f "tokens=2,3,4 delims=/ " %a in ('date /t') do @echo %c-%a-%b
2002-07-13

This example will be explained in detail in (3).
0. Basic Application
Simply put, FOR is a loop that can generate a series of commands with the loop range you specify. The simplest example is to manually specify the loop range and then execute the specified command for each value. For example, if you want to quickly report the remaining space of each hard disk partition:

for %a in (c: d: e: f) do @dir %a\   find "bytes free"

The output will be:

8 Dir(s) 1,361,334,272 bytes free
15 Dir(s) 8,505,581,568 bytes free
12 Dir(s) 12,975,149,056 bytes free
7 Dir(s) 11,658,854,400 bytes free

It can be used to make some commands that don't support wildcards operate on a series of files. In WIN9X, the TYPE command (displaying file content) doesn't support the format like *.txt (WIN2K starts to support wildcards for TYPE). In case of a similar situation, you can use FOR:

for %a in (*.txt) do type %a

These are not the most powerful functions of FOR. I think its most powerful functions are manifested in the following advanced applications:

1. You can use the /r parameter to traverse the entire directory tree
2. You can use the /f parameter to use the content of a text file as the loop range
3. You can use the /f parameter to use the execution result of a certain command as the loop range
4. You can use the %~ operator to separate the file name into independent parts such as file name, extension, drive letter, etc.

Now let's explain them with examples respectively:
1. Traversing the directory tree with /r
When using wildcards like *.* or *.txt as the loop range of for /r, you can operate on all files (including files in subdirectories) under the current directory. For example, you want to find the word "bluebear" in the content of all txt files (including subdirectories) in the current directory. But since find itself can't traverse subdirectories, we use FOR:

for /r . %a in (*.txt) do @find "bluebear" %a

The @ in front of find just makes the output result not include the find command itself. This is a function that DOS has had for a long time. It has nothing to do with FOR.
When using . as the loop range, for only takes the structure (directory name) of the subdirectory as the loop range, not the files inside it. It's a bit like the TREE command, but the focus is different. The key point of TREE is to output in a very beautiful and readable format, while the output of FOR is suitable for some automatic tasks. For example, we all know that in a project managed by CVS, there will be a CVS directory under each subdirectory. Sometimes when releasing software, we want to delete all these CVS directories:

for /r . %a in (.) do @if exist %a\CVS rd /s /q %a\CVS

First, use if exist to judge, because for just mechanically lists each directory, and if there are no CVS in some directories, it will also be executed. It's safer to use if exist to judge.
This deletion command is too powerful, so use it carefully. It's best to replace rd /s /q with @echo to list the directories to be deleted first before really executing the above deletion command, confirm that it's correct, and then replace it back with rd /s /q:

for /r . %a in (.) do @if exist %a\CVS @echo %a\CVS

There may be an extra layer of "." in the directory, such as c:\proj\release\.\CVS, but it won't affect the execution effect of the command.
2. Using the content of a certain file or the execution result of a command as the loop range:
Suppose you have a file todel.txt, which is a list of all files to be deleted. Now you want to delete each file listed in it. Suppose this file has each file name on a separate line, like this:

c:\temp\a1.txt
c:\temp\a2.txt
c:\temp\subdir\b3.txt
c:\temp\subdir\b4.txt

Then you can use FOR to complete:

for /f %a in (todel.txt) do del %a

This command can be more powerful. For example, your todel.txt is not as clean as the above example, but is directly generated by DIR, with some useless information, like this:

Volume in drive D is DATA
Volume Serial Number is C47C-9908
Directory of D:\tmp
09/26/2001 12:50 PM 18,426 alg0925.txt
12/02/2001 04:29 AM 795 bsample.txt
04/11/2002 04:18 AM 2,043 invitation.txt
4 File(s) 25,651 bytes
0 Dir(s) 4,060,700,672 bytes free

FOR can still solve the file names in it and operate on them:

for /f "skip=5 tokens=5" %a in (todel.txt) do @if exist %a DEL %a

Of course, the above command is deleting. If you just want to see which files will be operated, replace DEL with echo:

for /f "skip=5 tokens=5" %a in (todel.txt) do @if exist %a echo %a

You will see:

alg0925.txt
bsample.txt
invitation.txt

skip=5 means skipping the first 5 lines (that is, the header information of the DIR output), and tokens=5 means taking the 5th column of each line as the loop value and putting it into %a, which is just the file name. Here I added a file existence judgment because the last line of "free" happens to be the 5th column. I haven't thought of a good way to filter out the last two lines for the time being, so checking it can be safe.
3. You can use the /f parameter to use the execution result of a certain command as the loop range
This is a very useful function. For example, we want to know which names of the current environment variables there are (we only want the names, not the values). But the output of the SET command is in the format of "name=value". Now we can use FOR to only get the name part:

FOR /F "delims==" %i IN ('set') DO @echo %i

You will see:

ALLUSERSPROFILE
APPDATA
CLASSPATH
CommonProgramFiles
COMPUTERNAME
ComSpec
dircmd
HOMEDRIVE
......

Here, the execution result of the set command is taken as the loop range. delims== means using = as the delimiter. Since FOR /F defaults to taking the first TOKEN of each line, the variable name can be separated. If you want to list only the values:

FOR /F "delims== tokens=2" %i IN ('set') DO @echo %i

tokens=2 is the same as the previous example, which means taking the second column (separated by =) as the loop value.
Here's a more useful example:
We know that the output of date /t (/t means not to ask the user for input) is like this:

Sat 07/13/2002

Now I want to separate the date part, that is, 13:

for /f "tokens=3 delims=/ " %a in ('date /t') do @echo %a

In fact, if you change tokens to 1, 2, 3, or 4 later, you will get Sat, 07, 13, and 2002 respectively. Note that there is a space after delims=/, which means that / and space are both delimiters. Since this space delims must be the last item in the /f option.
Be more flexible. As mentioned at the beginning of this article, output the date in the format of 2002-07-13:

for /f "tokens=2,3,4 delims=/ " %a in ('date /t') do @echo %c-%a-%b

When there are multiple values after tokens, they will be mapped to %a, %b, %c, etc. Actually, it's related to the variables you specify. If you specify %i, they will use %i, %j, %k, etc.
Flexibly applying this, almost nothing is impossible.
4. You can use the %~ operator to separate the file name into independent parts such as file name, extension, drive letter, etc.
This is relatively simple, that is, the value of the loop variable is automatically separated into only the file name, only the extension, or only the drive letter, etc.
Example: To list the song titles of all mp3s under c:\mp3, if you use the general dir /b/s or for /r, it will be like this:

g:\mp3\Archived\05-18-01-A\游鸿明-下沙\游鸿明-01 下沙.mp3
g:\mp3\Archived\05-18-01-A\游鸿明-下沙\游鸿明-02 21个人.mp3
......
g:\mp3\Archived\05-18-01-A\王菲-寓言\王菲-阿修罗.mp3
g:\mp3\Archived\05-18-01-A\王菲-寓言\王菲-彼岸花.mp3
g:\mp3\Archived\05-18-01-A\王菲-寓言\王菲-不爱我的我不爱.mp3
......

If I only want the song title (not the path and ".mp3"):

游鸿明-01 下沙
游鸿明-02 21个人
......
王菲-阿修罗
王菲-彼岸花
王菲-不爱我的我不爱
......

Then you can use the FOR command:

for /r g:\mp3 %a in (*.mp3) do @echo %~na

凡是 %~ 开头的操作符,都是文件名的分离操作。具体请看 for /? 帮助。
Some of the examples in this article may not be of practical use or can be completed by other methods. They are only used to reflect that FOR can complete quite flexible tasks without the help of other tools, only using DOS command combinations
Recent Ratings for This Post ( 1 in total) Click for details
RaterScoreTime
chishingchan -1 2009-01-05 14:52
Floor 26 Posted 2009-02-12 13:33 ·  中国 广东 江门 电信
新手上路
Credits 2
Posts 1
Joined 2009-02-11 17:04
17-year member
UID 138556
Gender Male
Status Offline
Thanks, learned.
Floor 27 Posted 2009-02-15 15:07 ·  中国 广东 广州 海珠区 电信
初级用户
Credits 152
Posts 17
Joined 2003-02-12 00:00
23-year member
UID 906
Gender Male
Status Offline
Is it possible for Ben, who is using DX, to localize a screensaver: Dream Aquarium v1.1770? Can the settings after the screensaver runs be localized (because the screensaver requires special fonts)?

Here is the download: http://soft6.greendown.cn//200811/DreamAquarium.rar
Floor 28 Posted 2009-02-17 17:41 ·  中国 陕西 西安 联通
新手上路
Credits 10
Posts 5
Joined 2008-04-10 17:21
18-year member
UID 115503
Gender Male
Status Offline
ddddddddddddddddddddddddddddddddddddddddddddd
Floor 29 Posted 2009-02-22 01:07 ·  中国 广西 百色 中移铁通
新手上路
Credits 2
Posts 1
Joined 2009-02-20 21:49
17-year member
UID 139414
Gender Male
Status Offline
Floor 30 Posted 2009-02-25 22:55 ·  意大利
新手上路
Credits 15
Posts 8
Joined 2009-02-24 23:54
17-year member
UID 139794
Gender Male
Status Offline
Very good stuff, download and study.
Forum Jump: