0

私はあなたのMinecraftを見つけてリセットするMinecraftバッチプログラムを作成しようとしています。問題は、リリースする予定であり、すべてのユーザーが異なるユーザー名を持ち、すべてのユーザーがVista+を使用しているわけではありませんC:\Users\Username。中にはそれを下に置くC:\Documents and Settings\Username人もいます。

これは私がすでに持っているコードです。

@Echo off
set UserProfile = Jackson
set Find = Desktop
pause
FOR /D %%Find in ("C:\Users\%UserProfile%\") DO pause

それが私が持っているものです。明らかに間違っていますが、助けが必要です。set /p UserProfile = Insert username hereはい、私はそのルートに行く場合は上記のはずであることを理解していますが、テスト用に持っています。仕事ができませんFOR。間違ったコマンドを使用していますか?私はそれについて研究しようとしていますが、実用的な解決策を見つけることができません。よろしくお願いします!

PS隠しフォルダがわからない場合は、探しますC:\Users\Username\Appdata\Roaming\.minecraft

FORの実行に関してこの継続的な問題があります。一時停止してもバッチでは、cmdウィンドウを閉じます。バッチスクリプトを使用せずに(cmd.exeに)手動で実行すると、%%Find was unexpected at this time.どうすれば修正できますか?

4

4 に答える 4

3

実際、必要なのは%APPDATA%環境変数だけです。XP、Vista、7または8で動作します(そして、おそらくWindows NTと2000でも動作します)。 Vista+またはXP-で%APPDATA%\.minecraft変換されます。c:\users\<username>\appdata\roaming\.minecraftc:\documents and settings\<username>\application data\.minecraft

したがって、フォルダ%APPDATA%\.minecraftを参照する必要がある場合は、(引用符で囲まれている可能性があります)を使用してください。.minecraft

より便利なシステム変数名については、 Windows環境変数のこのページを参照してください。

于 2013-03-13T13:07:03.820 に答える
0

これを試して

FOR /D %%F in ('dir/a C:\Users\%UserProfile%\') DO echo %%F 
于 2013-03-13T12:13:22.240 に答える
0
for /f "delims=" %%i in ( ' dir /b /ah /ad /s \.minecraft ' ) do set target=%%i
echo %target%

ここで、\は検索を開始するディレクトリです。

于 2013-03-13T13:09:06.897 に答える
0

すべての回答をありがとう!(@AndriyMのおかげで)%%の後に1文字しか使用できないことがわかりました。%% Findを実行しようとしていて、%% Fを実行して変数を変更する必要があったため、これが私の問題でした。助けてくれてありがとう!

于 2013-03-14T12:06:27.393 に答える