各种本地化版本的DIR命令输出

时间:2009-02-03 04:11:34

标签: windows cmd internationalization

我有一个奇怪的(不要问)需要看一些Win XP cmd shell DIR命令的一些例子,用于很多(某些)不同的本地化版本的windows(例如法语,西班牙语等) )。

我需要的具体命令是(注意这个命令很重要......如果你不打扰使用这个命令那么就不用费心了):

dir /4 /-c /t:a /n /a:-d-h-s

我知道这是一个疯狂的希望,但我希望无论本地化如何都能够斩断/解析输出。

4 个答案:

答案 0 :(得分:2)

可能不是您想听到的内容,但我们在依赖Windows不同本地化行为时发现了各种各样的问题。

我们有一个cmd文件在美国英语中运行良好但是当我们发送它进行本地化时,他们发现了各种各样的问题,我们必须支持大约23种不同的版本。

最后,编写(实际C)代码以通过Win32获取信息并以我们想要的格式输出它更容易。这消除了对特定本地化格式配置问题的依赖(某些命令的输出方式不同,不仅基于区域设置,还基于用户配置)。

我的建议:找到另一种方法。

答案 1 :(得分:1)

波兰语Windows Vista输出:

C:\Users\Karol>dir /4 /-c /t:a /n /a:-d-h-s
 Wolumin w stacji C to OS
 Numer seryjny woluminu: 3EC1-6B83

 Katalog: C:\Users\Karol

2009-12-10  21:19              2263 intlname.ols
2009-07-23  21:17              1480 laptop_to_epia.ppk
2009-07-23  21:17               466 laptop_to_epia.pub
2010-01-31  09:49             10392 _viminfo
               4 plik(ów)              14601 bajtów
               0 katalog(ów)     10880864256 bajtów wolnych

答案 2 :(得分:0)

以下是韩国XP的输出:

 C µå¶óÀ̺êÀÇ º¼·ý¿¡´Â À̸§ÀÌ ¾ø½À´Ï´Ù.
 º¼·ý ÀÏ·Ã ¹øÈ£: 7C33-7DCE

 C:\WINDOWS\system32 µð·ºÅ͸®

2009-02-02  ¿ÀÈÄ 11:39              1697 $winnt$.inf
2008-02-19  ¿ÀÈÄ 09:07              2151 12520437.cpx
2008-02-19  ¿ÀÈÄ 09:07              2233 12520850.cpx
2008-02-19  ¿ÀÈÄ 09:06            100352 6to4svc.dll
2008-02-19  ¿ÀÈÄ 08:47              1460 a15.tbl

(似乎在转移过程中失去了unicode ......但为了我的目的,没关系)。

答案 3 :(得分:0)

当然......这是错误的方式......但需要必须/恶魔驱动。根本问题是命令运行的机器无法修改/依赖。解析/斩波非常小(拉出文件名,文件大小和创建日期)。好消息是文件名保证不包含任何空格。这意味着split()的最后两个字段是文件名和大小,前N个字段是日期(注意我不需要日期作为日期,只需一个字符串就可以了)。棘手可能涉及确保unicode正确移动(与韩国示例不同)。