私はユーザごとにローカルで行うユーザ設定を自動化しようとしています。なぜ私はバッチファイルでそれをやっているのですか?これの一部として、ドキュメントフォルダをUドライブとしてマップされているものにリダイレクトする必要があります。 My DocumentsフォルダがUドライブに存在する場合、そこに移動する必要があります。移動しない場合は、Uドライブのルートにマップする必要があります。マップされたネットワークドライブバッチファイルへのローカルフォルダリダイレクト
以下のコードは私が現在持っているものですが、私がチェックしているフォルダを持っていても、常にElse状態になっています。
誰かが助けてくれる場合は、どうかしてください。
@echo off
cd\ & cls
set UDRIVE="u:\My Documents\"
If exist %udrive% (set newDocuments=%udrive%) Else (set newDocuments=U:\)
set registryPath1="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
set registryPath2="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
>null reg add %registryPath1% /v "Personal" /t REG_SZ /d %newDocuments% /f
>null reg add %registryPath2% /v "Personal" /t REG_EXPAND_SZ /d %newDocuments% /f
>null reg add %registryPath2% /v "{F42EE2D3-909F-4907-8871-4C22FC0BF756}" /t REG_EXPAND_SZ /d %newDocuments% /f
echo Redirection completed.
%echo%
Pause
%echo%
「IFあり」%udrive%\ "(GOTO:FolderRedirect)ELSE GOTO:FolderRedirect2'を使用してください。基本的な説明は 'if /? 'を読んでください。 – JosefZ
まだElse条件にデフォルト設定されています。ターゲットフォルダが存在するかどうかにかかわらず、Else条件にデフォルト設定されています。 – LaneDutch
':FolderRedirect2'ラベルの直前に' goto:somewhere'を挿入してください。 – JosefZ