Go Back   TechArena Community > Software > Software Development
Become a Member!
Forgot your username/password?
Tags Active Topics RSS Search Mark Forums Read

Reply
 
Thread Tools Search this Thread
  #1  
Old 11-10-2008
Member
 
Join Date: Jun 2006
Posts: 200
How to get current directory

I am writing a vb program, only my 1 day using vb. Is there a way that the program can get the current path that it is running in?

Say if the program was running in some wierd directory is there a way to have the program get the current directory that it is executing?

I'm sure this is simple, but I am new to vb, sorry.
Reply With Quote
  #2  
Old 11-10-2008
Member
 
Join Date: Jun 2006
Posts: 620
Code:
TCHAR szDirectory[MAX_PATH] = "";

if(!::GetCurrentDirectory(sizeof(szDirectory) - 1, szDirectory))
  // Error -> call '::GetLastError()'
Hope that helps
Reply With Quote
  #3  
Old 11-10-2008
Member
 
Join Date: Dec 2007
Posts: 1,592
Here is another way:

Code:
using System;
using System.IO;

static class MainClass
{
    static void Main()
    {
        Console.WriteLine("Using: " + Directory.GetCurrentDirectory());
    }
}
Reply With Quote
  #4  
Old 11-10-2008
Member
 
Join Date: Dec 2007
Posts: 1,728
How do I get the current directory into my prompt?

It depends which shell you are using. It's easy with some
shells, hard or impossible with others.

C Shell (csh):
Put this in your .cshrc - customize the prompt variable the
way you want.

alias setprompt 'set prompt="${cwd}% "'
setprompt # to set the initial prompt
alias cd 'chdir \!* && setprompt'

If you use pushd and popd, you'll also need

alias pushd 'pushd \!* && setprompt'
alias popd 'popd \!* && setprompt'

Some C shells don't keep a $cwd variable - you can use
`pwd` instead.

If you just want the last component of the current directory
in your prompt ("mail% " instead of "/usr/spool/mail% ")
you can use

alias setprompt 'set prompt="$cwd:t% "'

Some older csh's get the meaning of && and || reversed.
Try doing:

false && echo bug

If it prints "bug", you need to switch && and || (and get
a better version of csh.)

Bourne Shell (sh):

If you have a newer version of the Bourne Shell (SVR2 or newer)
you can use a shell function to make your own command, "xcd" say:

xcd() { cd $* ; PS1="`pwd` $ "; }

If you have an older Bourne shell, it's complicated but not
impossible. Here's one way. Add this to your .profile file:

LOGIN_SHELL=$$ export LOGIN_SHELL
CMDFILE=/tmp/cd.$$ export CMDFILE
# 16 is SIGURG, pick a signal that's not likely to be used
PROMPTSIG=16 export PROMPTSIG
trap '. $CMDFILE' $PROMPTSIG

and then put this executable script (without the indentation!),
let's call it "xcd", somewhere in your PATH

: xcd directory - change directory and set prompt
: by signalling the login shell to read a command file
cat >${CMDFILE?"not set"} <<EOF
cd $1
PS1="\`pwd\`$ "
EOF
kill -${PROMPTSIG?"not set"} ${LOGIN_SHELL?"not set"}

Now change directories with "xcd /some/dir".

Korn Shell (ksh):

Put this in your .profile file:
PS1='$PWD $ '

If you just want the last component of the directory, use
PS1='${PWD##*/} $ '

T C shell (tcsh)

Tcsh is a popular enhanced version of csh with some extra
builtin variables (and many other features):

%~ the current directory, using ~ for $HOME
%/ the full pathname of the current directory
%c or %. the trailing component of the current directory

so you can do

set prompt='%~ '

BASH (FSF's "Bourne Again SHell")

\w in $PS1 gives the full pathname of the current directory,
with ~ expansion for $HOME; \W gives the basename of
the current directory. So, in addition to the above sh and
ksh solutions, you could use

PS1='\w $ '
or
PS1='\W $ '

Source
Reply With Quote
Reply

  TechArena Community > Software > Software Development
Tags: ,



Thread Tools Search this Thread
Search this Thread:

Advanced Search


Similar Threads for: "How to get current directory"
Thread Thread Starter Forum Replies Last Post
Get latest updated file from your Current Working Directory REDBULL Software Development 4 10-07-2010 02:38 PM
The version of the Active Directory schema of the source forest is not compatible with the version of Active Directory on this computer Blaine Active Directory 5 22-05-2010 07:33 AM
Retrieving the current directory in batch Jacques25 Software Development 3 15-07-2009 11:36 PM
How to make use of VB Script to get Current Directory? BenTen Software Development 2 12-01-2009 08:34 PM
Active Directory Current time & Local Time configuration rasena Window 2000 Help 1 28-03-2008 06:24 PM


All times are GMT +5.5. The time now is 08:03 PM.