ANSI 文本提取到其他文件
ANSI text extracting to other file
我复制了代码,但我不知道它是如何工作的,但我把它作为一个宏进行了测试。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileTxt = objFSO.CreateTextFile("filename.txt", True, False)
ObjFileTxt.Write "ok"
Set objFSO = Nothing
1。如何将示例中的目录更改为 %tmp% ? (默认为 C:\Users\myuser\Documents)
2、如何添加ANSI码?即 (MZ ˙˙
)
ObjFileTxt.Write "ĂäD»N§űGç„ 06߲ŕ7‰Vű"0ťÂ‹1'Ç U¶¤CÜf×qjćĽ"
ansi有一段代码包含"和'怎么写到ObjFileTxt.Write
我希望将 ansi 代码保存在 filename.txt
Windows 将从调用函数的进程继承环境,这就是为什么文件创建在 C:\Users\myuser\Documents。要更改目录,您可以为 CreateTextFile() 指定完整路径,例如 (CreateTextFile("C:\d\a\a.txt")),这将在您指定的位置创建一个文件。
对于你的第二个问题,你的问题是如何打印",和',对吗?有两种方法,一种是使用'over',当你使用'your content'时,你的内容不会被评估,这样特殊说明\n 将按原样输出,但这并不能完全满足您的需求,因为您的内容可能包含 '.您可以使用“\”代替,这意味着对于特殊字符不用管它,所以执行“asdf \'asdadf”,将输出 "asdf ' asdadf"。这也是为什么我在CreateTextFile()中放了“\”,这样就会输出"C:\d\a"。希望这有帮助
回答您的问题:
- 如何将示例中的目录更改为
%tmp%
?
You can do it by using .ExpandEnvironmentStrings
on a Shell object, like this:
Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
- 如何添加ANSI码?
You have to correct the way you add a quote "
inside a string, by duplicating it, like this ""
:
ObjFileTxt.Write "AäD»N§uGç„ 06ß?r7‰Vu""0t‹1'Ç U¶¤CÜf×qjcL"
您的代码将如下所示:
Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileTxt = objFSO.CreateTextFile(sTempPath & "\filename.txt", True, False)
ObjFileTxt.Write "AäD»N§uGç„ 06ß?r7‰Vu""0t‹1'Ç U¶¤CÜf×qjcL"
Set objFSO = Nothing
如果您想要将文件转换为 ANSI,请查看此 answer。
希望对您有所帮助。
我复制了代码,但我不知道它是如何工作的,但我把它作为一个宏进行了测试。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileTxt = objFSO.CreateTextFile("filename.txt", True, False)
ObjFileTxt.Write "ok"
Set objFSO = Nothing
1。如何将示例中的目录更改为 %tmp% ? (默认为 C:\Users\myuser\Documents)
2、如何添加ANSI码?即 (MZ ˙˙
)
ObjFileTxt.Write "ĂäD»N§űGç„ 06߲ŕ7‰Vű"0ťÂ‹1'Ç U¶¤CÜf×qjćĽ"
ansi有一段代码包含"和'怎么写到ObjFileTxt.Write
我希望将 ansi 代码保存在 filename.txt
Windows 将从调用函数的进程继承环境,这就是为什么文件创建在 C:\Users\myuser\Documents。要更改目录,您可以为 CreateTextFile() 指定完整路径,例如 (CreateTextFile("C:\d\a\a.txt")),这将在您指定的位置创建一个文件。 对于你的第二个问题,你的问题是如何打印",和',对吗?有两种方法,一种是使用'over',当你使用'your content'时,你的内容不会被评估,这样特殊说明\n 将按原样输出,但这并不能完全满足您的需求,因为您的内容可能包含 '.您可以使用“\”代替,这意味着对于特殊字符不用管它,所以执行“asdf \'asdadf”,将输出 "asdf ' asdadf"。这也是为什么我在CreateTextFile()中放了“\”,这样就会输出"C:\d\a"。希望这有帮助
回答您的问题:
- 如何将示例中的目录更改为
%tmp%
?
You can do it by using
.ExpandEnvironmentStrings
on a Shell object, like this:
Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
- 如何添加ANSI码?
You have to correct the way you add a quote
"
inside a string, by duplicating it, like this""
:
ObjFileTxt.Write "AäD»N§uGç„ 06ß?r7‰Vu""0t‹1'Ç U¶¤CÜf×qjcL"
您的代码将如下所示:
Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileTxt = objFSO.CreateTextFile(sTempPath & "\filename.txt", True, False)
ObjFileTxt.Write "AäD»N§uGç„ 06ß?r7‰Vu""0t‹1'Ç U¶¤CÜf×qjcL"
Set objFSO = Nothing
如果您想要将文件转换为 ANSI,请查看此 answer。
希望对您有所帮助。