Les Snippets

Connexion

Dossier courant de l'exe en cours d'éxécution

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 17/03/2006 22:41:39 et initié par BruNews [Liste]
Date de mise à jour : 05/01/2008 16:39:35
Vue : 71605
Catégorie(s) : API
Langages dispo pour ce code :
- C
- Java
- VB 2005
- C# 1.x, C# 2.x
- PHP 4, PHP 5
- VB6, VBA
- VB6
- VB6, VBScript
- Assembleur x86
- Delphi 5
- C
- Windev
- Python
- Windev
- PHP 4, PHP 5
- Java



Langage : C
Date ajout : 17/03/2006
Posté par Brunews [Liste]
// Assurer la currentDirectory dans le dossier de l'exe
void __stdcall AppPathInitialize()
{
  char szthis[300];
  char* c = szthis + GetModuleFileName(0, szthis, 300);
  while(*c != '\\') c--; // c POINTE A LA FIN, RECULER TANT QUE NON '\\'
  *c = 0;
  SetCurrentDirectory(szthis);
}
Langage : Java
Date ajout : 19/03/2006
Posté par neodante [Liste]

System.getProperty("user.dir");

Remarque :
Remarque : cela donne le chemin vers la racine d'exécution de votre programme, et non pas le chemin vers le fichier class contenant le main qui peut se trouver dans un package.
Langage : VB 2005
Date ajout : 19/03/2006
Posté par Nurgle [Liste]

Public Shared Function GetCurrentDirectory() As String
	Return My.Application.Info.DirectoryPath

End Function


Langage : C# 1.x , C# 2.x
Date ajout : 21/03/2006
Posté par MorpionMx [Liste]
public string GetCurrentDirectory() 
{
    return Application.StartupPath; 
}


Langage : PHP 4 , PHP 5
Date ajout : 21/03/2006
Posté par malalam [Liste]
<?php
function GetCurrentDirectory () {
 $aPath = pathinfo ($_SERVER['PHP_SELF']);
 return $aPath['dirname'];
}
?>
Remarque :
retourne le dossier courant d'exécution d'un script php, à partir de la racine du site.
Langage : VB6 , VBA
Date ajout : 23/03/2006
Posté par Renfield [Liste]

avec API :

Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long Private Function GetCurrentDirectory() As String Dim nLength As Long     GetCurrentDirectory = Space$(300)     GetModuleFileName 0, GetCurrentDirectory, 300     GetCurrentDirectory = Left$(GetCurrentDirectory, InStrRev(GetCurrentDirectory, "\")) End Function

 


et sans API : Private Function GetCurrentDirectory() As String     GetCurrentDirectory = App.Path     If Right$(GetCurrentDirectory, 1) <> "\" Then         GetCurrentDirectory = GetCurrentDirectory & "\"     End If End Function

Langage : VB6
Date ajout : 18/04/2006
Posté par PaTaTe [Liste]
DateMAJ : 18/04/2006

'L'exemple fourni en VB6 pose probleme (la version API et sans API ne renvois pas le même resultat dans un projet non enregistré (erreur entre App.path et le dossier Courant)

'Pour faire plus simple, on peut faire :
Public Enum AppPathOrCurDir 
    AppPath = 0
    CurDir_ = 1
End Enum

Public Function GetCurrentPath(ByVal CurrentDirectory As AppPathOrCurDir) As String

    'On Choisit le répertoire à afficher (soit App.Path, soit le dossier courant utilisé par le programme)
    Select Case CurrentDirectory 
        Case 0 : GetCurrentPath = IIf(Right$(App.Path, 1) <> "\", App.Path & "\", App.Path) 'Retourne le répertoire de l'application

        Case 1 : GetCurrentPath = IIf(Right$(CurDir, 1) <> "\", CurDir & "\", CurDir) 'Retourne le répertoire courant de l'application

    End Select

End Function

Langage : VB6 , VBScript
Date ajout : 15/06/2006
Posté par katsankat [Liste]
MsgBox App.Path

Langage : Assembleur x86
Date ajout : 04/07/2006
Posté par Nasman [Liste]
DateMAJ : 05/01/2008

extern GetCurrentDirectoryA

push dword adressenomdirectory;adresse où sera stocké le nom
push dword tailletampon;taille devant permettre de mettre le chemin complet +0 terminal
call GetCurrentDirectoryA
;au retour eax contient le nombre de caractères de la chaine (sans le 0 terminal)

REPRENONS L'ENONCE INITIAL
Assurer la currentDirectory dans le dossier de l'exe
lea   eax, [esp-300]
xor   edx, edx
mov   esp, eax
push  eax ; param SetCurrentDirectory
push  300
push  eax
push  0
call  GetModuleFileNameA
add   eax, esp
toSLASH:
sub   eax, 1
cmp   byte ptr[eax], '\'
jne   short toSLASH
mov   byte ptr[eax], 0
call  SetCurrentDirectoryA
add   esp, 300
Remarque :
Lier avec win32.lib à l'édition des liens

Sinon en compilation en format OMF on peut inclure la directive
import GetCurrentDirectoryA kernel32.dll
et appeler
call [GetCurrentDirectoryA]
win32.lib n'est plus necessaire
Langage : Delphi 5
Date ajout : 23/08/2006
Posté par flo160fr [Liste]
MonChemin := ExtractFilePath(ParamStr(0));
Langage : C
Date ajout : 25/08/2006
Posté par _dune2_ [Liste]
char *get_current_path()
{
 return get_current_dir_name();
}

Remarque :
fonction POSIX.1 disponible sous tout systèmes UNIX.
Langage : Windev
Date ajout : 12/09/2006
Posté par Elian Lacroix [Liste]
// Répertoire courant utilisé par l'exécutable :
Trace(fRepEnCours())
// Répertoire de l'exécutable lui-même :
Trace(EXEInfo(exeNom))
Langage : Python
Date ajout : 09/06/2007
Posté par pacificator [Liste]
import sys
print sys.argv[0]

Langage : Windev
Date ajout : 27/07/2007
Posté par dadudo [Liste]
DateMAJ : 05/08/2007
// Le moyen le plus simple sous WinDev
// Fonction WinDev Standard
Rep_en_cours est une chaîne = fRepExe()

Langage : PHP 4 , PHP 5
Date ajout : 18/08/2007
Posté par coucou747 [Liste]
echo getcwd();
Remarque :
max@max-laptop:~$ php -r "echo getcwd().\"\\n\";"
/home/max
max@max-laptop:~$
Langage : Java
Date ajout : 20/11/2007
Posté par bob44455 [Liste]
String cur_folder = new File(getClass().getProtectionDomain().getCodeSource().getLocation().toString().substring(6)).toString();
Remarque :
voila le chemin de l'executable .jar

Snippets en rapport avec : Path, Getmodulefilename, Setcurrentdirectory, Chemin, Directory



Codes sources en rapport avec : Path, Getmodulefilename, Setcurrentdirectory, Chemin, Directory

{Visual Basic, VB6, VB.NET, VB 2005} CHEMIN D'UN DOSSIER
C'est un exemple qui vous aide à trouver le chemin d'un dossier selectionné par l'utilisateur ...

{Visual Basic, VB6, VB.NET, VB 2005} RACCOURCIR UN CHEMIN (PATH) OU URL INTERNET
Je pensais que je trouverai cette source sur le site, mais je n'ai rien trouvé! Il faut dire que tro...

{Visual Basic, VB6, VB.NET, VB 2005} AFFICHAGE DU CHEMIN D'UN MESSAGE OUTLOOK
Lorsque l'on effectue une recheche avancée de message sous outlook 2003 il n'est pas possible d'acce...

{Assembleur} MANIPULER LES CHEMINS,WINDOWS,DOS,SYSTÈMES..
Il vous permet de récupérer n'importe quel chemin (en texte) depuis l'explorateur.Placer un racou...

{Visual Basic, VB6, VB.NET, VB 2005} CREATION DE CHEMINS RELATIFS
J'etais surpris de ne pas trouver d'avantage de sources sur le net concernant la creation de fichier...

{C / C++ / C++.NET} DECOUPAGE CHEMIN FICHIER (FORUM)
Suite a une demande sur le forum, voila un code qui permet de découper le chemin d'un fichier en so...

{JAVA / J2EE} MODIFIE LE NOM D'UN FICHIER HTML PROPREMENT
Sert pour les fichiers htmls auquels sont joints des images. Change le nom du fichier et du réperto...

{C / C++ / C++.NET} UNE DATE PAR LIGNE DANS UN TXT (VC++)
Comme promis à un participant, une dialogbox avec un calendrier et un editbox. Un bouton ajouter et...

{Visual Basic, VB6, VB.NET, VB 2005} CREER UN CHEMIN DE PLUSIEURS DOSSIERS
Ou comment faire quand MkDir, CreateFolder (api) ou le FSO echoue lors de la création d'un dossier a...

{Visual Basic, VB6, VB.NET, VB 2005} PERMET D'ISOLER LE NOM D'UN FICHIER À PARTIR D'UN CHEMIN
...