Имя: Пароль:
1C
 
Получить имя файла в формате "8.3" в 64 разрядном процессе
0 TormozIT
 
гуру
25.08.22
18:14
Сейчас использую старинный метод

VBScript = Новый COMОбъект("MSScriptControl.ScriptControl");
VBScript.language = "vbscript";
    VBScript.addcode("
    |Public Function GetShortPath()
    |Set fso = CreateObject(""scripting.filesystemobject"")
    |Set fsoFile = fso.GetFile(""" + ПолноеИмяФайла + """)
    |GetShortPath = fsoFile.ShortPath
    |End Function
    |");
    DOSИмя = VBScript.Run("GetShortPath");

Но он не работает в 64 разрядном процессе.
Есть другой способ?
1 Святофор
 
25.08.22
18:47
скрипты vbs выполняются в рамках Windows Script Host ведь. а 32-битный в другом месте лежит C:\Windows\SysWOW64\, а вызывается по дефалту 64-битный из windwos\System32

https://stackoverflow.com/questions/2806584/how-do-i-run-a-vbscript-in-32-bit-mode-on-a-64-bit-machine
2 СеменовСемен
 
25.08.22
18:52
Но зачем такие имена все еще нужны?
3 TormozIT
 
гуру
25.08.22
19:10
(2) Например чтобы сократить длину командной строки
4 СеменовСемен
 
25.08.22
19:11
(3) но зачем? ты же не руками будешь набирать