2010-05-12 6 views
1

je JavaScript dans un fichier .wsf et que je reçois l'erreur:ne peut pas récupérer l'URL référencé

C:\bin\LDLSInfo.wsf(53, 34) Windows Script Host: 
Cannot retrieve referenced URL: S:\tools\JScript\lib\StandardWSH.js 

À la ligne 53, il est dit

<script language="JScript" src="S:\tools\JScript\lib\StandardWSH.js"/> 

Je sais que LDLSInfo.wsf (le script principal) et StandardWSH.js (le script à charger) fonctionnent tous les deux bien, parce que je les ai courus d'une machine différente.

Cela fonctionne très bien sur une machine et pas sur l'autre, les deux sont des ordinateurs Windows 7 x64. Donc je pense qu'il me manque des fichiers .dll.

Merci pour l'aide,

-jb

+0

Avez-vous essayé d'ouvrir réellement le script à l'adresse mentionnée via le système de fichiers (par exemple Windows Explorer)? Vous ne pouvez pas supposer que 'S:' sera le même lecteur sur chaque ordinateur. –

+0

En fait 'script.language' doit être' javascript' pas 'jscript' – abatishchev

Répondre

0

Donc, apparemment, cela ne se produisait que lorsque je courais le .wsf en mode Admin dans la commande rapide. Pekka, le lecteur S: est le même pour les deux machines. Abatishchev, je ne le savais pas, et j'ai corrigé le script.language en "javascript". David, cscript est le processeur de defualt.

Lorsque j'exécute le script lorsqu'il n'est pas en mode Admin, il charge le fichier correctement. Bien sûr, maintenant j'ai une autre erreur à résoudre, mais c'est une autre question entièrement. Merci pour la contribution.

-jb

0

Vous devrez peut-être vérifier tout processus tente d'exécuter le script dispose des autorisations pour le fichier référencé. Il est parfois prévu que les tâches soient exécutées comme des comptes ne disposant pas des autorisations nécessaires pour lire le fichier script, etc. Cela ne pose aucun problème si vous double-cliquez sur le fichier wsf interactivement sur la machine et que votre compte dispose des autorisations pour ouvrir le fichier. Comme l'a noté Pekka, si le script était planifié comme une tâche, il s'exécuterait dans un processus non-interactif où S: \ pourrait ne pas être mappé. La copie vers un chemin local est recommandée pour les scripts qui s'exécutent en tant que tâches planifiées.

De plus, assurez-vous le cscript.exe est le processeur de script par défaut, pas wscript.exe via cette commande:

cscript.exe //H:CScript 
3

Par curiosité connaissez-vous la taille du fichier de votre fichier référencé? J'ai juste couru dans ce problème moi-même et ai réussi à déterminer que si mon dossier a une taille de 524288 octets alors cela fonctionne, mais à 524289 bytes il échoue à charger.

Maintenant, 524288 est 2^19 ou 512kb donc au moins c'est numériquement significatif. Et l'exécution du script dans un compte non administrateur n'a pas fonctionné pour moi, donc j'imagine que l'erreur réelle est un fourre-tout pour plus d'un type de problème.

Je me rends compte que vous avez probablement quitté ce problème et que vous n'avez peut-être pas cette information, mais pour d'autres personnes cherchant le problème, cela peut les aider. En outre, j'ai réussi à résoudre mon problème de limite de taille de fichier avec un script loader qui utilise fso pour ouvrir et évaluer le fichier qui est trop grand.

On dirait au moins une autre personne a eu le même problème que moi: http://www.tek-tips.com/viewthread.cfm?qid=1345627&page=131

+0

Je viens de rencontrer ce problème, et cette réponse l'a résolu. –

1

Basé sur le lien Marcus Pope fourni, et ma propre expérience avec le exacte même programme VBS avec et sans FSM, je peut confirmer qu'il existe une limitation de taille non documentée qui donne lieu au message "impossible de récupérer l'URL" - notez que ce message ne dit pas "impossible de trouver l'URL", mais que le fichier objet ne peut pas être "récupéré". J'ai expérimenté cela sous Windows 2003. Je n'ai pas confirmé la taille maximale récupérable, mais le lien lui donne 512 Ko, ce qui est cohérent avec mon expérience d'être incapable de charger un fichier de 1200 Ko.

Questions connexes