Correction de l'emplacement pour exécuter ce script?

0

J'ai un fichier batch de Karan.

Comment réparer l'emplacement pour exécuter ce lot est l'emplacement de mon fichier C:\proview\upload\EJ_daily_Temp.

path=c:\program files\7-zip;%path%
for /f "tokens=1,2 delims=_" %%i in ('dir/b *_ej.zip') do ren %%i_%%j %%i.zip
for %%i in (*.zip) do 7z x %%i -o*
    
for /r %%x in (K*.jrn) do ren "%%x" ??????+????????.jrn


for /f "delims=" %%d in ('dir /ad /b') do @rd /q /s "%%d"
Dheerapong Ountantaeyanont
la source
2
Il est un peu difficile de suggérer comment corriger le code si vous ne nous dites pas ce que le code est censé faire et comment il ne fonctionne pas.
Dbenham

Réponses:

1

Tout d’abord, juste un conseil utile… la première ligne de votre fichier de commandes:

path=c:\program files\7-zip;%path%

a un problème qu'il peut continuellement ajouter au début du chemin chaque fois que vous exécutez le fichier de commandes. Vous aurez donc éventuellement un "chemin" très long ressemblant à ceci:

"c:\program files\7-zip;c:\program files\7-zip;c:\program files\7-zip;...<original-path>". 

Si vous exécutez toujours ce fichier de commandes à partir d'un "raccourci", cela ne posera probablement pas de problème. Mais si vous l'exécutez à partir d'une "invite de commande", ce sera un problème.

Pour résoudre ce problème, vous avez 2 choix ...

Choix 1: Avant d'ajouter un "nom de répertoire" au chemin, vérifiez d'abord si "nom de répertoire" existe déjà dans le chemin. Si vous essayez de vous assurer que le "nom de dossier" se trouve au début du chemin, vérifiez d'abord si le premier élément du chemin est déjà défini sur "nom de dossier".

Si vous avez besoin d'aide pour vérifier ces conditions, laissez un commentaire et je vous donnerai quelques exemples.

Choix-2: Puisque vous "codez en dur" le chemin de 7z dans le fichier batch de toute façon, mettez-le simplement dans une variable et utilisez la "variable" pour exécuter 7z, comme ceci:

set "zrun7z=c:\program files\7-zip\7z.exe"
for %%i in (*.zip) do "%zrun7z%" x ...

Dans votre question, vous demandez uniquement comment définir l'emplacement sur "C: \ proview \ upload \ EJ_daily_Temp". Je suppose que vous voulez dire que le dossier dans lequel le fichier de commandes trouvera les fichiers "* _ej.zip" est: "C: \ proview \ upload \ EJ_daily_Temp".

Pour ce faire, vous utiliserez la commande "CD" comme ceci:

c:
CD C:\proview\upload\EJ_daily_Temp

ou, en une étape:

CD /D C:\proview\upload\EJ_daily_Temp

Si certaines parties de votre fichier de commandes ne fonctionnent pas, publiez un commentaire sur cette réponse ou modifiez votre question. Essayez de fournir plus de détails qui pourraient aider d’autres personnes à répondre à votre question. Décrivez (si vous le pouvez) l'endroit où le fichier de commandes échoue. Décrivez ce qui se passe correctement et ce qui ne l’est pas, et décrivez comment vous voulez que cela se passe. Donnez quelques exemples de ce que pourraient être les noms des fichiers ".zip". Si les noms suivent un modèle strict, décrivez-le. Il en va de même pour les noms des fichiers extraits.

Kevin Fegan
la source