Windows Bat File pour accepter un paramètre

1

J'ai besoin d’un peu d’aide, je suis nouveau dans la création de fichiers Windows Bat, j’ai déjà programmé, mais c’est nouveau pour moi.

Ce dont j'ai besoin, c'est d'un fichier .bat pour déplacer les xx premiers fichiers en fonction du paramètre que j'ai entré dans le répertoire en cours vers un autre répertoire. Encore une fois, l'écriture de fichiers Windows bat pour la première fois. Je ne connais pas la syntaxe. apprécié

Josh Adams
la source
Ce est une bonne référence, avec plusieurs exemples de scripts.
AFH
Ce semble similaire.
Sandeep

Réponses:

0

Les paramètres des fichiers de commandes sont désignés dans le script par %1, %2 etc. Donc, le premier argument que vous passez au script auquel vous pouvez accéder avec %1.

par exemple. C:\>test.bat Hello où le script batch est juste:

@echo %1 pause

Affichera "Bonjour"

Avec le reste du script, vous devez être plus précis sur ce que vous entendez par premiers fichiers "xx". Trié par date ou par nom ou par un autre attribut?

Gytis
la source
Ok, disons que je voulais déplacer un ensemble de 250 fichiers dans un autre répertoire, les trier par nom
Josh Adams
@JoshAdams - Ce site n'est pas un service gratuit de rédaction de scripts. Vous avez suffisamment d'informations pour déterminer ce que vous devez faire. Si vous rencontrez des problèmes avec des commandes spécifiques, vous pouvez poser des questions à leur sujet, mais ne vous attendez pas à ce que nous fassions tout le travail à votre place.
AFH
@ JoshAdams AFH a raison de ne pas laisser la communauté ici faire tout le travail pour vous. Mais il existe de nombreux exemples de scripts pour vous aider à démarrer. Trouvé ceci post tutoriel qui fait à peu près ce que vous voulez et explique comment cela fonctionne en quelques minutes de recherche. Tout ce que vous avez à faire est de définir la limite de votre variable et de spécifier vos répertoires et vous êtes en or.
Gytis
0
    @echo off

set Source=C:\Users\Josh\documents
set Target=C:\Users\Josh\test

set MaxLimit=250

for /f "tokens=1* delims=[]" %%G in ('dir /A-D /B "%Source%\*.*" ^| find /v /n ""') do (
move "%Source%\%%~nxH" "%Target%"
if %%G==%MaxLimit% exit /b 0
)

Après suffisamment de recherches, j'ai eu la possibilité de faire ce que je voulais faire.

Josh Adams
la source