Interact with the local file system

Interact with the local file system

Read files from a folder

Function ScriptedVariable
	Dim fso, folder, files, sFolder, res
  
	Set fso = CreateObject("Scripting.FileSystemObject")
	sFolder = "C:\Results"
	Set folder = fso.GetFolder(sFolder)
	Set files = folder.Files 
	For each folderIdx In files
		'LogMessage folderIdx.Name
		res = folderIdx.Name
		Exit For
	Next
	If res = "" Then
		EndJob "No csv file to process!"
	End If
	ScriptedVariable=res
End Function

Check if a file exists

Sub VBScriptProcedure
'	For some reason, the FileExists function never works for me.  See alternative below.
'	If Not FileExists(AttachmentPath & "@@ORG:FILENAME@@") Then 
'		GotoNextRow
'	End If

	dim f_string 
	f_string = ReadFile(AttachmentPath & "@@ORG:FILENAME@@")
	If f_string = "" Then 
		LogMessage "File Does Not Exist: @@ORG:FILENAME@@"
		GotoNextRow
	End If
End Sub

Create a file

Function ScriptedVariable
	'This script will overwrite any files with the same name.
	Set objFSO=CreateObject("Scripting.FileSystemObject")
	fileName="aetest.csv"
	outFile="c:\temp\aetest.csv"
	Set objFile = objFSO.CreateTextFile(outFile,True)
	ScriptedVariable=outFile
End Function

Move and rename a file

I imported files directly into a Sugar instance's database. The file had to be named the Knowledge Base Article's ID. I moved and renamed the file as the KB article was create:

Sub VBScriptProcedure
	MoveFile "@@ORG:FullName@@","C:\uploads\@@STG:1,id@@"
End Sub

Read from a file

Function ScriptedVariable
	Dim LastRunTimeStamp
	LastRunTimeStamp = ReadFile("C:\inetpub\wwwroot\StarfishEngine\Xref\AccountTimestamp.ids")
	'LogMessage LastRunTimeStamp
	ScriptedVariable = LastRunTimeStamp
End Function

Write to a file

Sub VBScriptProcedure
	Const ForReading = 1, ForWriting = 2, ForAppending = 8
	Dim fso, MyFile
	Set fso = CreateObject("Scripting.FileSystemObject")
	'Note the second parameter is using a Constant set above.  In this case, I want to append to the file.
	Set MyFile = fso.OpenTextFile("@@VAR:filename@@", ForAppending, True)

	' Write to the file.
	MyFile.WriteLine "@@ORG:id@@|@@ORG:name@@|@@ORG:billing_address_street@@|@@ORG:billing_address_city@@|@@ORG:billing_address_state@@|@@ORG:website@@"
	MyFile.Close
End Sub

or

Sub VBScriptProcedure
	If Not PreviewMode Then
		WriteFile "C:\inetpub\wwwroot\StarfishEngine\Xref\AccountTimestamp.ids", "@@ORG:numTimeStamp@@"
	End If
End Sub
    • Related Articles

    • File System Connector

      File System Origin The File System Connector reads all files from a folder specified in the Directory field. The Username and Password fields are not used. Filter can be used to filter for certain file names/extensions. To search for all files with ...
    • Import Starfish Map file from a locally stored *.SPD file

      Import Starfish Map file from a locally stored *.SPD file Step Snapshot Go to project and select the Import view Select Browse to import the *.spd file Select *.spd file from directory folder. Once the import is complete, the project will be added to ...
    • Writing to a local CSV from the Starfish ETL Cloud

      Even though more and more services are moving to cloud-based solutions, often times we still need to interface to on-premises software using CSV files. To do this using the Starfish ETL iPaaS system, you'll need to set up a Starfish Ray. A Ray will ...
    • Download File

      External Assemblies To download a file in a C# scripted function, you must first go to the .NET Global section (after you choose to create a global script as found HERE), and in the External Assemblies box, enter the ...
    • System Backup Wizard

      The Starfish ETL System Backup Wizard will walk you through a series of steps to create a complete backup framework for any system. The System Backup Wizard does not actually back up any data during this process, it only creates the tables and jobs ...