Question

Nous savons que le répertoire de travail Echo% CD% Commande, supposons qu'il s'agit de "C: Test bin Run" Je veux savoir comment supprimer "Run" de la chaîne. Deuxième fois, le répertoire "Run" peut être le répertoire "stop". Par conséquent, nous ne pouvons pas utiliser la commande string remplace. Ce que je pense faire, c'est supprimer la chaîne après la dernière "". Quelqu'un sait comment faire ça sous Windows Commandline (CMD)

Était-ce utile?

La solution

S'il est normal de changer de réalisation pendant le processus, que diriez-vous:

set x=%cd%
cd ..
set parent=%cd%
cd %x%

Autres conseils

Dans la ligne de commande, cela fonctionne:

C:\dir\folder>FOR /F "tokens=3 delims=\" %A IN ('echo %CD%') DO SET FOLDER=%A

Maintenant, le dossier de variable d'environnement contient le "dossier" de valeur

J'ai utilisé des tokens = 3 parce que le dossier est le troisième jeton après les -delimiters

Si vous avez utilisé des jetons = 2, le dossier de variable d'environnement contenait la valeur "dir"

Si vous avez utilisé des jetons = 1, le dossier de variable d'environnement contenait la valeur "C:"

Il devrait également fonctionner dans des fichiers batch si vous remplacez% A By %% A similaire suit:

FOR /F "tokens=3 delims=\" %%A IN ('echo %CD%') DO SET FOLDER=%%A

En fonction de cela, vous pouvez créer une boucle qui se répète jusqu'à ce que le dossier soit une chaîne vide. Dans la boucle, vous devrez attribuer un dossier à LastFolder à chaque étape. Une fois la boucle terminée, LastFolder contient le dossier de votre répertoire actuel. Vous pouvez également mettre le code dans un script séparé "getBaseFolder.bat" et utiliser "Call getBaseFolder% cd%" dans le lot principal.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top