for %%I in ("%current_dir%") do set "parent_dir=%%~dpI" for %%I in ("%parent_dir%") do set "grandparent_dir=%%~dpI"不起作用
时间: 2023-07-06 18:44:06 浏览: 73
这段代码是批处理脚本的语法,它的作用是获取当前目录的上级目录和上级目录的上级目录,并将它们保存到`parent_dir`和`grandparent_dir`变量中。
如果这段代码在批处理脚本中运行,应该是可以正常工作的。但是如果你将这段代码直接复制到命令行中运行,会出现语法错误,因为命令行和批处理脚本的语法是不同的。
如果你想在命令行中获取当前目录的上级目录和上级目录的上级目录,可以按照以下步骤操作:
1. 打开命令提示符窗口,进入当前目录;
2. 执行以下命令获取当前目录的上级目录路径并保存到`parent_dir`变量中:
```
for %I in (.) do set "parent_dir=%~dpI"
```
3. 执行以下命令获取上级目录的上级目录路径并保存到`grandparent_dir`变量中:
```
for %I in ("%parent_dir%") do set "grandparent_dir=%~dpI"
```
这样就可以在命令行中获取当前目录的上级目录和上级目录的上级目录了。
相关问题
for %%I in ("%current_dir%") do set "parent_dir=%%~dpI"for %%I in ("%parent_dir%") do set "grandparent_dir=%%~dpI"不起作用
这段代码是批处理脚本的语法,可以用于获取当前目录的上级目录和上级目录的上级目录。但是,如果你将这段代码直接复制到命令行中执行,可能会报错,因为命令行和批处理脚本的语法有所不同。如果你想要在命令行中获取当前目录的上级目录和上级目录的上级目录,可以使用以下命令:
```
cd ..
set "parent_dir=%cd%"
cd ..
set "grandparent_dir=%cd%"
```
这段代码的作用是先通过`cd ..`命令进入当前目录的上级目录,再使用`%cd%`获取当前目录的路径,并将其赋值给变量`parent_dir`。然后再执行一次`cd ..`命令进入上级目录的上级目录,再次使用`%cd%`获取当前目录的路径,并将其赋值给变量`grandparent_dir`。这样就可以获取当前目录的上级目录和上级目录的上级目录的路径了。
bat for %%I in ("%current_dir%") do set "parent_dir=%%~dpI" for %%I in ("%parent_dir%") do set "grandparent_dir=%%~dpI"不起作用
这段代码是批处理脚本的语法,它的作用是获取当前目录的上级目录和上级目录的上级目录,并将它们保存到`parent_dir`和`grandparent_dir`变量中。
如果这段代码在批处理脚本中运行,应该是可以正常工作的。但如果你在命令行中直接运行这段代码,会出现语法错误,因为命令行不支持`for`循环的语法。
如果你想在命令行中获取当前目录的上级目录和上级目录的上级目录,可以按照以下步骤操作:
1. 打开命令提示符窗口,进入当前目录;
2. 执行以下命令获取当前目录的上级目录路径并保存到`parent_dir`变量中:
```
for %I in (.) do set "parent_dir=%~dpI"
```
3. 执行以下命令获取上级目录的上级目录路径并保存到`grandparent_dir`变量中:
```
for %I in ("%parent_dir%") do set "grandparent_dir=%~dpI"
```
这样就可以在命令行中获取当前目录的上级目录和上级目录的上级目录了。
阅读全文