2010-11-10 4 views

Répondre

2

je l'ai déjà enregistré une macro sas pour lire le répertoire windows liste here.

+0

C'était très utile. Je l'ai eu à travailler très bien avec quelques réglages! – Adnan

2

Si vous avez SAS version 9.2 ou version ultérieure alors ce lien fonctionnera indépendamment du système d'exploitation:

http://support.sas.com/kb/38/267.html

Voici une version paraphrasée du lien de répondre à votre question exactement:

%let filename = d:\sasdev\autoexec.sas; 
data info; 
    length filesize $60; 
    drop rc fid close; 
    rc=filename("myfile","&filename"); 
    fid=fopen("myfile"); 
    filesize=finfo(fid,"File Size (bytes)"); 
    close=fclose(fid); 
    put filesize=; 
run; 

À votre santé Rob

PS - Avoir vous avez vérifié www.runsubmit.com? C'est juste comme StackOverflow mais pour les questions liées à SAS seulement.

+0

Merci pour le lien. Malheureusement, nous devons toujours prendre en charge SAS 9.1.3 de sorte que toutes les fonctionnalités spécifiques à 9.2 deviennent inutilisables. Mais je peux certainement faire certaines choses spécifiques à la version dans mes méthodes, tout comme je fais des choses spécifiques au système d'exploitation en ce moment. – Adnan

+0

Oh merci pour le lien runsubmit.com aussi bien. – Adnan

0

Je vais faire quelque chose crufty et écrire une fonction utilitaire qui effectue les opérations suivantes:

  • Si le fichier est un ensemble de données SAS, puis utilisez les fonctions standard SAS pour obtenir la taille du fichier (certains lrecl et Nobs mathématiques)
  • Dans le cas contraire, si elle est UNIX ou SAS 9.2, utilisez finfo
  • Sinon, utilisez une version modifiée de la macro écrite par @rkoopmann

Notez que cela est ok pour moi que becau Mes exigences sont de pouvoir obtenir la taille d'un fichier particulier.

Questions connexes