0

我有一个奇怪的(不要问)需要查看DIR许多(一些)不同本地化版本的 Windows(例如法语、西班牙语等)的 Win XP cmd shell 命令的一些示例。

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

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

我知道这是一个疯狂的希望,但我希望能够在不考虑本地化的情况下截断/解析输出。

4

4 回答 4

2

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

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

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

我的建议:找到一种不同的方式来做到这一点。

于 2009-02-03T04:53:11.737 回答
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
于 2010-02-19T18:34:07.397 回答
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……但出于我的目的,这没关系)。

于 2009-02-03T04:47:54.913 回答
0

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

于 2009-02-03T05:04:27.017 回答