VB中特殊文件夹的长文件名转换为短文件名.

VB中特殊文件夹的长文件名转换为短文件名.,第1张

文件名转换成8.3短文件名:

对于新文件:

1

取长文件名中头6个合法字符,改为大写,加

~1,取最后一个句点之后的3个合法字符作扩展名。

形成

ABCDEF~1.TXT

这样的名字。

2

检查该目录中

ABCDEF~1.TXT

是否存在,若不存在就是它了。若存在

改为

ABCDEF~2.TXT

再检查,直到出现不重复的文件名。

3

如果第二步重试次数太多(超过4次),就采用生成随机数的方式调整

ABCDEF

这一部分形成

ABF424~1.TXT

这样的名字。

4

把长文件名和短文件名同时写到目录里面。

在获取文件名的时候,一律采用从目录里读出的方式。

因为有的文件没有短文件名,有的软件祥核烂会单独修改短文件名而不改长文件名。所以对氏历于一个已存在的长名文件,不可能有任何方法能算出他的短文件名来。

不信你可以编写一段程序在同一个目录里产生几百个前面相同的文件名。

你就明白了在特殊情况下,不调用

API,

没有任何办法知道一个文件的短文件名。

下面这段Basic程序就可以做这个实验谨漏:

Sub

aa()

For

i

=

1

To

256

Open

"c:\test\ab

cd

ef.

a."

&

Rnd()

&

i

&

".u.

aa

c

u"

For

Output

As

#1

Print

#1,

i

Close

#1

Next

End

Sub

当然,在大多数情况下不会像我们的测试一样变态,顶多也就到

ABCDEF~2.TXT

这种程度。

你可以编写一个程序来完成转换,多数时间都能工作,只是不能保证结果绝对正确罢了。

1打记事本文档复制肢改列内容文档

@echo off

dir /s/b *.* >文件名.txt

exit

2、述内容复制要提取文件名文件夹该文件改名X.bat(X任意名称)双击运行能完要求

我想把我的音乐文件名复制出来,做成一个文档,然后打印出来 由于数量太多 一个一个复制太慢 请问尘饥悄有没派渣有快一定的方法??? 我的是XP系统

可以使用ACDSee完成,这是老招了:

在使用ACDSee进行批量重命名前,首先要用ACDSee打开要批量重命名的图像文件夹,然后选中全部文件,点击“工具栏”的颤携“管理茄顷伏”,打开“管理工具栏”,然后点击“管理工具栏”的“批量重命名”,打开的“批量重命名”窗口。可以在模板中指定批量重命名的文件名格式,模板中“*”代表原来的文件名,“#”代表顺序排列的数字或字母。在“开乎神始于”后面可以输入“#”代表内容的起始值,比如可以指定为数字“1”或字母“A ” 。都设置好后,点击“确定”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12137309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存