如何使用批处理找到隐藏文件夹?

时间:2013-03-13 12:04:49

标签: batch-file hidden directory minecraft

我正在尝试制作一个可以找到并重置你的我的世界的Minecraft批处理程序。问题是,我将发布它,每个人都会有不同的用户名,并不是所有用户名都会在C:\Users\Username下与用户一起使用Vista +。有些人会在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工作。我使用了错误的命令吗?我一直在努力研究它,但我找不到一个有效的解决方案。感谢您的帮助!

P.S。如果您不知道我将要查找的C:\Users\Username\Appdata\Roaming\.minecraft

隐藏文件夹

执行FOR时我遇到了这个问题。在批处理中,即使暂停,也会关闭cmd窗口。如果我在没有批处理脚本的情况下手动执行(进入cmd.exe),那么它会显示%%Find was unexpected at this time.如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

实际上,您只需要%APPDATA%环境变量。它适用于XP,Vista,7或8(我敢说也可能是Windows NT和2000)。 %APPDATA%\.minecraft会在Vista +上翻译为c:\users\<username>\appdata\roaming\.minecraft,或在XP上翻译为c:\documents and settings\<username>\application data\.minecraft

因此,只需在需要引用%APPDATA%\.minecraft文件夹的地方使用.minecraft(可能引用)。

有关更多有用的系统变量名称,请参阅Windows Environment Variables上的此页面。

答案 1 :(得分:0)

试试这个

FOR /D %%F in ('dir/a C:\Users\%UserProfile%\') DO echo %%F 

答案 2 :(得分:0)

for /f "delims=" %%i in ( ' dir /b /ah /ad /s \.minecraft ' ) do set target=%%i
echo %target%

其中\是您开始搜索的目录。

答案 3 :(得分:0)

谢谢大家的所有答案!我想通了(感谢@AndriyM)你只能在%%之后使用1个字母。这是我的问题,因为我试图做%% Find,我不得不做%% F并更改变量。谢谢大家的帮助!