删减文件名程序在xp系统和win7系统的运行结果不同
各位高手你们好,本人VB新手,有个问题请教:我编写了一段程序,用来把文件名前两个文字或数字去掉,但是同一个程序在xp系统和win7系统运行后得出的结果不同,貌似xp系统运行后把数字“01”当成一个字符,而win7当成两个字符;搞得我在xp系统无法正常改名,请问是什么原因?怎样才能在xp系统中把"2012年11月11日.xls"的文件名改为"12年11月11日.xls"(我把删除字符长度的参数“len()”用1和2分别运行,减1字符的叫len1,减2字符的叫len2)代码如下:
Dim fp
Private Sub refilename(folderspec)
Dim fs, f, f1, fc, sm, hz
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 In fc
hz = f1.Name
Print hz
hz = Right(hz, Len(hz) - 2) '从左边起删除两字符
'Mid(hz, 1, 2) = " " '从左边第一字节前两字节替换成空格
hz = Replace(hz, " ", "") '把空格替换成无值
Name f1 As fp & hz
Next
MsgBox "修改完成"
End Sub
Private Sub Command1_Click()
fp = "E:\减少\" '这里设置文件夹路径,根据你的需要来修改
If Right(fp, 1) <> "\" And Right(fp, 1) <> "/" Then fp = fp & "\"
Call refilename(fp) '调用上面的自定义函数,改名
End Sub
[ 本帖最后由 ctubasa 于 2012-12-8 22:33 编辑 ]