2017-08-29 1 views
-1

Je souhaite diviser le chemin du répertoire à l'aide du shell de puissance. Mon chemin complet est D: \ data \ path1 \ path2 \ abc.txt et je veux le diviser en path2 \ abc.txt. Quelqu'un peut-il me faire savoir comment puis-je faire cela.Split directory path powershell

Répondre

1

Ici sur Stack Overflow lorsque vous posez une question, veuillez poster un code que vous avez déjà essayé et les résultats que vous obtenez. Nous vous aidons avec le code que vous avez déjà essayé, nous ne sommes pas ici pour écrire pour vous (:

Mais ... Je commencerais ici. Link

Cela va vous aider à démarrer Vous pouvez également procédez comme suit dans une console pour obtenir quelques informations sur la commande Split-Path

Get-Help Split-Path -Example 

Après avoir mis quelque chose ensemble vous-même, vous pouvez modifier votre message pour inclure ce que vous avez essayé et vous serez plus susceptibles de obtenir une réponse précise pour votre situation particulière Bonne chance et bon codage!

0
$last2parts = "D:\data\path1\path2\abc.txt".Split("\") | Select-Object -Last 2 
$last2parts -join "\" 

En réponse à votre commentaire sur une autre solution, essayez ceci. Supprimez simplement votre constante d: \ data \ path1. Effectuez ensuite la scission

$last2parts = "D:\data\path1\path2\abc.txt".Replace("D:\data\path1","") 
$last2parts =$last2parts.Split("\") | Select-Object -Last 2 
$last2parts -join "\" 

Ou peut-être essayer si vous voulez tout ce qui suit D: \ data \ chemin1

$lastparts = "D:\data\path1\path2\abc.txt".Replace("D:\data\path1","") 
$lastparts =$lastparts.Split("\") 
$lastparts -join "\" 
+0

Merci beaucoup ChiliYago. ça aide :) –

+0

Veuillez marquer ma réponse comme résolue pour vous. Heureux qu'il a aidé – ChiliYago

0
$PathAsString = "D:\data\path1\path2\abc.txt" 

[System.IO.Path]::Combine($(Split-Path -leaf $(Split-Path $PathAsString)),$(Split-Path -leaf $PathAsString)) 

Utilise plutôt que de spécifier Windows' délimiteur du système caractère '\'. Honnêtement, si je savais que cela ne fonctionnerait que sur des systèmes Windows, j'irais avec la réponse de @ ChiliYago car vous ne pouvez pas mettre le caractère délimiteur de chemin dans un nom de fichier ou de répertoire comme vous pouvez le faire sous Linux.

+0

Merci les gars et s'excuser de ne pas poser une bonne question une première tentative. J'ai plusieurs tels chemin de fichier où la partie "D: \ data \ path1 \" restera constante et la deuxième partie continuera à changer comme ci-dessous: D: \ data \ path1 \ path2 \ a.txt D: \ data \ path1 \ path3 \ path4 \ b.txt Trouver un moyen de retirer une première partie et d'obtenir une seconde partie en sortie. J'ai essayé $ last2parts = "D: \ data \ chemin1 \ chemin2 \ abc.txt" .Split ("\") | Select-Object -Last 2 mais cela ne vous aidera pas dans ce scénario. –