我的问题是我想在记事本中打开一个文件,然后从记事本中保存,而不是手动但使用vbscript(我希望这是为了克服一些编码问题)。到目前为止,我已找到一个相关的article来解决我的问题,但它不起作用。它有这个代码:
Dim notepad, wndNotepad, strDesktop
Set notepad = Sys.Process("notepad")
Set wndNotepad = notepad.Window("Notepad")
' Open a file in Notepad
wndNotepad.MainMenu.Click("File|Open...")
notepad.Window("#32770", "Open").OpenFile "C:\Program Files\SmartBear\TestComplete 12\install.txt"
' Save the file to the desktop
strDesktop = WshShell.SpecialFolders("Desktop")
wndNotepad.MainMenu.Click "File|Save as..."
notepad.Window("#32770", "Save As").SaveFile strDesktop & "\install.txt"
问题是vbscript无法识别第二行(Sys.Process
)中的系统。我假设在这一行中应该创建一个记事本的过程(like here)然后将这个过程的对象返回到变量记事本(我不知道是否以及如何可以achived)以便在第三行(notepad.Window("Notepad")
)中使用。
如果有人知道代码应该如何工作,我真的很感激帮助。关于如何解决这个问题的任何其他建议(或任何关于它是否可以实际解决的想法)都是非常受欢迎的。谢谢你的时间。
修改
正如我在下面的评论中所说,上面的代码需要昂贵的TestComplete软件。因此,如果有人有任何想法以其他方式解决我的问题(其他软件,其他代码,其他编程语言),我很乐意学习它。
答案 0 :(得分:0)
我认为您需要将文件从一个路径复制到另一个路径。请参考以下代码复制文件,
功能CopyFile()
strSourceFile = "c:\.....\source.txt"
strDestFile = "c:\.....\dest.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
'Check to see if the file is read-only
If Not fso.GetFile(DestinationFile).Attributes And 1 Then
'The file exists and is not read-only. Safe to replace the file.
fso.CopyFile strSourceFile, strDestFile, strOverWrite
Else
'The file exists and is read-only.
'Remove the read-only attribute
fso.GetFile(DestinationFile).Attributes = fso.GetFile(DestinationFile).Attributes - 1
'Replace the file
fso.CopyFile strSourceFile, strDestFile, strOverWrite
'Reapply the read-only attribute
fso.GetFile(DestinationFile).Attributes = fso.GetFile(DestinationFile).Attributes + 1
End If
结束功能