Create folder

How can I create a folder in Windows
using Powerbuilder script?

For example, create  subfolder 'testing' in c:\temp.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Creates a directory.


File system


CreateDirectory ( directoryname )

Argument      Description
directoryname      String for the name of the directory you want to create
Return value

Integer. Returns 1 if the function succeeds and -1 if an error occurs.
CreateDirectory( "c:\temp\testing" ) would be sufficient for u

FUNCTION long CreateDirectory (string lpPathName, ulong lpSA) Library "KERNEL32" ALIAS FOR CreateDirectoryA

long ll_rc
string ls_path

ls_path = "C:\test\"
ll_rc = CreateDirectory(ls_path, 0)

if ll_rc = 1  then success
Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

It depedns on the PB version you are using. Use win API as sajuks suggests if you are PB 6.0 or earlier version. If not createdirectory function will do.

There is a file service object that come with PFC as well.

n_cst_filesrv inv_filesrv
f_SetFileSrv(inv_filesrv, TRUE)




Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
xo123Author Commented:
Yes, it's PB5 and doesn't support CreateDirectory.
How can I use win API in Powerbuilder?
How to declaure the function?
    FUNCTION long CreateDirectory (string lpPathName, ulong lpSA)Library "KERNEL32" ALIAS FOR CreateDirectoryA

Open a window.
Then select "Declare/Global External Functions" or you want to delcare CreateDirectory as a global function or select "Declare/Local Exterbal Functions" menu if you want to use this function only in that window.
Then cut and paste,
FUNCTION long CreateDirectory (string lpPathName, ulong lpSA)Library "KERNEL32" ALIAS FOR CreateDirectoryA

Now you can use CreateDirectory function anywhere in that window or anywhere in the code if declared as global external function.

Is yours 16 bit or 32 bit PB? This will not work with 16 bit PB as the declaration is little bit different for 16 bit PB.


Namasi Navaretnam

xo123Author Commented:
Great Thanks!
I'm using 32 bit PB.
But how to declare it if it's 16 bit?  Is it:
   FUNCTION long CreateDirectory (string lpPathName, ulong lpSA)Library "KERNEL16" ALIAS FOR CreateDirectoryA
Yes. For 32 bit,

FUNCTION long CreateDirectory (string lpPathName, ulong lpSA)Library "KERNEL16" ALIAS FOR CreateDirectoryA
This is an example from Sybase,

CreateDirectoryA( )
This function create a new directory folder under the current directory, which under PowerBuilder would be 'c:\pwrs\pb5i32' if you installed shortnames. The second argument is exclusively used by NT and can be ignored under Win95. There is no PowerBuilder equivalent.

Global External Function:
FUNCTION boolean CreateDirectoryA(ref string pathname, int sa) LIBRARY "Kernel32.dll"

boolean rtn
string l_dir
l_dir = "API Demo"
rtn = CreateDirectoryA(l_dir, 0)
If rtn then
MessageBox("New Directory Created", "API Demo directory is located under pwrs.")
MessageBox("CreateDirectory", "Failed")
end if
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.