1
パスのリストの.txtファイルを読み取り、コピーで使用するツールがあります。リダイレクトを有効にすると特別なフォルダのパスを取得できません
***DESTINATION***
E:\Backup
***Sources***
%USERPROFILE%\Pictures
%USERPROFILE%\Favourites
%USERPROFILE%\Contacts
%USERPROFILE%\My Videos
私のシステムでは、フォルダのリダイレクトが有効になっているので、「画像」は実際にはD:\ Adam \ Picturesです。ただし、次のコードを使用すると、C:\ Adam \ Picturesとしてのみ解決され、「パスが見つかりません」エラーがスローされます。
'Declarations earlier in script
Dim Destpath As String = System.IO.File.ReadAllLines(Application.StartupPath + "\CONFIG.txt")(1)
Dim userprofilevar = (Environment.GetFolderPath(Environment.SpecialFolder.UserProfile))
'Snippet of line reading logic
ElseIf line.Contains("%USERPROFILE%") Then
Dim lineArray() As String = line.Split("\")
Dim lineuser As String = userprofilevar + "\"
Dim linepath As String = lineArray(1)
line = lineuser + linepath
Destpath = String.Concat(Destpath, "\", linepath)
MessageBox.Show(Destpath)
Else
%USERPROFILE%変数によってリダイレクトされたフォルダの正しいパスを解決する方法を知っている人はいますか?
VB.NETにAlexBの例@に変換し、それは私のアプリで働いて取得した後、私は単純に文字列として%Userprofile%
フォルダのそれぞれを宣言した後、ライン読みロジックはline
文字列を更新している:私が見つけ
これはおそらく助けることができるhttp://www.codeproject.com/Articles/878605/Getting-All-Special-Folders-in-NET –
@AlexB。ありがとう!あなたの例を自分のコードに適合させることができました。今、私の問題は 'KnownFolders'をチェックし、whatsとの関係で正しいパスを返すために、行にあるものを相互参照することになります。どのようにそれを行うにはどのようなアイデア? – Adam
大変申し訳ありませんが、記事を見つけました。たぶん別の人がそれに答えるか、記事の作者に連絡してください。 –