我正在使用FileSystemObject在Javascript中开发一个函数,我只需要在文件中写入我们提供的二进制数据.这是我的功能.
function exportFile(data)
{
var fso, f2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f2=fso.CreateTextFile("C:\\example.js",true);
f2.Write(data);
f2.Close();
}
Run Code Online (Sandbox Code Playgroud)
然而,它并不总是有效(f2.Write(数据)上的错误).我猜这是因为一个或两个原因: - 写入功能不接受二进制数据(ASCII从0到255) - f2.Write(数据)中的"数据"有最大大小
请问你能帮帮我吗?
更新:
我得到这个错误(已翻译):消息:参数或函数调用无效我应该使用哪种技术,那么,如果Javascript不能使用普通块8位值?
我有几个使用FileSystemObject的过程.我发现这很方便.
问题:将一个现有的FileSystemObject实例从"主"过程传递给这些其他过程作为参数是否合理,而不是让每个过程创建自己的FileSystemObject实例?
示例:以任何方式更好地执行此操作:
Sub MainSub()
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(FSO, myargs)
' call other subs and functions that use FileSystemObject
End Sub
Sub OtherSub(FSO, myargs)
' Do stuff with FSO
' call other subs and functions that use FileSystemObject
End Sub
Run Code Online (Sandbox Code Playgroud)
我至少看过一个程序员,而不是以下,这是我通常做的事情:
Sub MainSub()
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(myargs)
' call other subs and functions that use FileSystemObject
End Sub
Sub OtherSub(myargs)
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(myargs)
' …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用javascript创建一个文本文件.我尝试了以下代码,但这没有用.请给我一个解决方案.谢谢 .
var fso, file;
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.CreateTextFile("c:\\Mytest\test.txt");
file.Close();
Run Code Online (Sandbox Code Playgroud) javascript google-chrome creation filesystemobject text-files
在VBScript中,我想获取按创建日期排序的文件夹中的文件列表.我看到为了做到这一点,我需要使用一个记录集(对我来说似乎有点过分)或者自己对集合进行排序(我想我可以避免它,我希望我的代码更短).
因为我是创建文件的人,所以我使用以日期开头的名称(yyyy_mm_dd)创建它们,所以尽管如此我如果能够获得至少按名称排序的文件,那么我就完全了.不幸的是,FileSystemObject的Files集合的MSDN文档没有说明集合的顺序.有没有人知道其他一些秘密文件或类似的东西可以更具体?
好吧,自从我使用经典的asp之后已经有一段时间了,所以我有点生疏了.这是我的问题.
我正在尝试使用FSO将文件写入文件系统.下面的代码非常简单.但是,文件没有出现,也没有出现错误.我知道它正在运行代码,因为我可以在此片段之前和之后添加response.writes,它们都出现在输出中.但是,不会创建任何文件,也不会引发错误.我甚至改变了它,所以这是一个强制错误的虚假路径.没有骰子.我添加了所有人对目录权限的读写.还是一样.
想法?
这是我的代码:
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Open the text file
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)
'Display the contents of the text file
objTextStream.WriteLine "howdy"
'Close the file and clean up
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
Run Code Online (Sandbox Code Playgroud) 是否可以使用VBA中的FileSystemObject读取和写入csv文件?
ActiveXObject() 构造函数支持不同类型的参数,如下所示:
new ActiveXObject("Msxml2.DOMDocument");
new ActiveXObject("Msxml2.XSLTemplate");
new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
new ActiveXObject("Msxml2.DOMDocument.6.0");
new ActiveXObject("Microsoft.XMLHTTP");
new ActiveXObject("Microsoft.XMLDOM");
new ActiveXObject("Excel.Application");
new ActiveXObject("Word.Application");
new ActiveXObject("Excel.Sheet");
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到这些参数(activexobject构造函数)?
从这个链接,我发现了一些如下信息
new ActiveXObject(class[, servername]);
Run Code Online (Sandbox Code Playgroud)
class使用语法library.object,其中library是应用程序的名称(例如,Word,Excel)或包含该对象的库,object是要创建的对象的类型或类.servername(可选参数)指定对象所在的服务器的名称.
我快要疯了.我在VBS中有一个代码配置,它会抛出一个逻辑上不可能的错误.
检查此代码:(您需要至少10个声望才能发布图片.确实很有帮助.) http://i.stack.imgur.com/jjNDm.png
如果文件夹revFolder存在,则(强制)将其删除.这也意味着如果文件夹不存在,则不会执行DeleteFolder.我确实在我面前有文件夹,它就在那里,我可以看到它.它是由相同的代码创建的几行.FolderExists返回true,因此该文件夹存在.然而它抛出错误"未找到路径".
到底是怎么回事?这一定是VBS中的一个错误,对吧?
考虑这个示例VBScript片段:
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists("D:\Folder\File*.ext") Then ' Finds nothing!
fs.CopyFile "D:\Folder\File*.ext", "D:\OtherFolder\"
fs.Deletefile "D:\Folder\File*.ext"
End If
Run Code Online (Sandbox Code Playgroud)
该FileExists方法证明不支持通配符(*和?).没有FolderExists.我预计wildards只是工作,因为他们工作的优良所有类似的方法在FileSystemObject:CopyFile,CopyFolder,MoveFile,MoveFolder,DeleteFile,DeleteFolder和Get*文件名处理方法一样GetAbsolutePathName.
当然有办法解决这个问题,比如GetFolder迭代它的文件.但FileExists本来会更具可读性,方便性,自然性和一致性.
该fs.FileExists不一致感觉就像一个API设计问题.可能是什么原因?背后有什么想法吗?
我刚刚经历过这样的时刻:你走出杂草,检查你的代码,然后问自己“我为什么这么做?”
我有一个脚本,它使用FileSystemObject. 一切正常,但我想我一直在改变设置变量的方式fso。
我的项目使用引用Microsoft Scripting Runtime Library,以便我可以使用早期绑定(即使我找到了几个实例Set fso = CreateObject("Scripting.FileSystemObject"),这对于这个项目来说很愚蠢)。也许是因为我的很多代码都来自在线示例,但我一直通过以下两种方式之一设置这些 fso 变量:
Set FSo = New FileSystemObject
Set FSo = New Scripting.FileSystemObject
Run Code Online (Sandbox Code Playgroud)
这些有什么区别呢?我使用哪一种很重要,还是只在某些情况下使用一种?
filesystemobject ×10
vbscript ×4
javascript ×3
vba ×3
api-design ×1
asp-classic ×1
binaryfiles ×1
creation ×1
csv ×1
excel ×1
text-files ×1