Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Accès aux fichiers distants sous Windows

5 réponses
Avatar
tukutt
Bonjour,

Je suis en train de d=E9veloppez un petit script perl qui doit me
permettre de savoir si un fichier existe ou non sur une machine
distante (j'ai beaucoup de machine =E0 v=E9rifier).

Je suis sous Windows XP (travail oblige) et les machines =E0 tester le
sont aussi. Actuellement je connais le nom des machines distantes (\
\ORD1, \\ORD2, ...). Pour acc=E9der au r=E9pertoire d'une machine distante
"en mode graphique", je lance l'explorateur et je tape \\ORD1\c$ puis
j'entre le login et mot de passe administrateur et j'ai acc=E8s au
r=E9pertoire c: .

J'aimerai faire la m=EAme op=E9ration avec perl. Je n'ai absolument aucune
id=E9e de comment me connecter =E0 une machine distante...

Si quelqu'un =E0 une id=E9e ?

Merci

5 réponses

Avatar
giganet
Bonjour,

Je suis en train de développez un petit script perl qui doit me
permettre de savoir si un fichier existe ou non sur une machine
distante (j'ai beaucoup de machine à vérifier).

Je suis sous Windows XP (travail oblige) et les machines à tester le
sont aussi.


Quelle horreur ;)

Actuellement je connais le nom des machines distantes (
ORD1, ORD2, ...). Pour accéder au répertoire d'une machine distante
"en mode graphique", je lance l'explorateur et je tape ORD1c$ puis
j'entre le login et mot de passe administrateur et j'ai accès au
répertoire c: .

J'aimerai faire la même opération avec perl. Je n'ai absolument aucune
idée de comment me connecter à une machine distante...

Si quelqu'un à une idée ?


my $filename = '//ORD1/fichier';
open (FILETEST, "<$filename" ) or die "Impossible d'ouvrir le fichier";

Tout simplement.


Merci



Avatar
giganet

Si quelqu'un à une idée ?

Merci



Sinon y a File::Remote

Avatar
Paul Gaborit
À (at) Wed, 28 May 2008 13:46:59 +0200,
giganet écrivait (wrote):

Si quelqu'un à une idée ?

Merci



Sinon y a File::Remote


Heu... ?

Extrait de la doc de File::Remote :

« ... File::Remote only works on UNIX systems ... »

Vu que ça utilise scp/ssh (ou, quelle horreur, rcp/rsh), c'est pas
prêt de fonctionner sous Windows.

Sans garantie aucune (je n'ai jamais essayé ce module), je proposerai
le module Win32::FileOp et sa méthode 'Map'.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>


Avatar
jl_morel
Dans l'article <90a284b1-7fe4-4560-ad7a-
, a dit...

Je suis en train de développez un petit script perl qui doit me
permettre de savoir si un fichier existe ou non sur une machine
distante (j'ai beaucoup de machine à vérifier).

Je suis sous Windows XP (travail oblige) et les machines à tester le
sont aussi. Actuellement je connais le nom des machines distantes (
ORD1, ORD2, ...). Pour accéder au répertoire d'une machine distante
"en mode graphique", je lance l'explorateur et je tape ORD1c$ puis
j'entre le login et mot de passe administrateur et j'ai accès au
répertoire c: .

J'aimerai faire la même opération avec perl. Je n'ai absolument aucune
idée de comment me connecter à une machine distante...



On peut utiliser le module Win32::NetResource.
Voir la doc (elliptique) :
http://cpan.uwinnipeg.ca/htdocs/Win32-NetResource/Win32/NetResource.html

Exemple :

#!/usr/bin/perl
use strict;
use warnings;
use Win32::NetResource;

my %NR = (
Scope => RESOURCE_CONNECTED,
Type => RESOURCETYPE_DISK,
DisplayType => RESOURCEDISPLAYTYPE_SHARE,
Usage => RESOURCEUSAGE_CONNECTABLE,
LocalName => "X:", # nom local de la ressource
RemoteName => "\ORD1c$" # la ressource distante
);
my $User = "Admin";
my $PassWord = "secret";

Win32::NetResource::AddConnection( %NR, $PassWord, $User, 1 )
or die Win32::FormatMessage(Win32::GetLastError);

# ici on peut utiliser X: pour accéder à la ressource distante

Win32::NetResource::CancelConnection( "X:", 1, 1 );

__END__

HTH

--
J-L.M.
http://www.bribes.org/perl

Avatar
tukutt
Bonjour,

J'ai laissé un message hier soir mais il n'est c'est perdu j'ai
l'impression...

Merci pour le module Win32::NetRessource c'est exactement ce que je
cherchais. J'avais vu ce paquet mais je pensais qu'il permettait
seulement de créer des répertoires partagés.

Merci à tous pour vos réponses si rapide et bonne Journées Perl 2008.


@ Paul Gaborit : Au plaisir de vous revoir à ISIS.