0

背景

我正在尝试将.minecraft's文件夹移动到 Windows 漫游文件夹。之后,我想把它放回原来的位置。(我的目标是一个档案系统来切换保存/玩家)

我不明白我做错了什么 - 也许%CD%变量与移动命令不兼容?我得到的错误是“错误的语法不正确”

代码

    @echo off
title .Minecraft switcher
echo welcome !
PING 1.1.1.1 -n 1 -w 1000 >NUL
md .minecrafts
cd %CD%/.minecrafts 
md temp
cd %CD%\..
:3
cls
echo enter 1 to switch .minecrafts
echo enter 2 to create new subdir
set /p "In=:"
if %In%==1 goto :1
if %In%==2 goto :2
if %In%==3 goto :4
if %In%==5 goto :5
goto :3
:1
cls
echo enter folder name
echo folder list...
cd %CD%\.minecrafts
dir /b
set /p "d=:"
MOVE %appdata%\.minecraft %CD%\temp
MOVE %CD%\%d%\.minecraft %appdata%
pause
MOVE %appdata%\.minecraft %CD%\%d%
MOVE %CD%\temp\.minecraft %appdata%
pause
goto :3

:2
cls
echo set folder name
set /p "name=:"
cd %CD%\.minecrafts 
md %name%
cd %CD%\..
pause
goto :3
:4
exit
4

1 回答 1

0

%cd% 是当前目录。如果您更改目录,它总是会更改。

C:\Users\syss>echo %cd%
C:\Users\syss

C:\Users\syss>cd ..

C:\Users>echo %cd%
C:\Users

C:\Users>

如您所见,您不需要在每个 cd 命令上写 %cd% 。

如果您想要调用批处理文件的目录:

set workingdir=%~dp0

然后使用 %workingdir% 而不是 %cd%

还要确保您使用 Windows 斜杠“\”而不是标准斜杠“/”(参见第 6 行)

于 2013-04-10T15:01:40.580 回答