.bat文件,用于重命名另一个文件而不提供路径

时间:2016-08-14 03:25:29

标签: windows batch-file

我有一个文件夹,其中包含.bat文件和另一个名为Config的文件夹。

我无法弄清楚如何在文件夹Config中重命名文件(test.txt)而不提供文件路径。

我希望.bat文件自动获取父文件夹,然后进入Config文件夹并将test.txt重命名为其他文件。

这是我已经找到的重命名文件

ren C:\Users\Admin\Directory\Config\test.txt something.txt

我想我想要的应该是这样但我无法弄清楚如何。

ren %ConfigDirectory%\test.txt something.txt

谢谢你的时间!

2 个答案:

答案 0 :(得分:2)

这应该有效:

set parentdir=%cd%
ren %parentdir%\test.txt something.txt

当前目录存储在变量%cd%中,您可以使用一行(ren %cd%\test.txt something.txt),但使用这两行始终有效。
如果要在路径中添加目录:

set parentdir=%cd%
set dir=%parentdir%\directory
ren %dir%\test.txt something.txt

编辑:显然,目录周围的引用有助于命令解决:

set parentdir=%cd%
ren "%parentdir%\test.txt" something.txt

答案 1 :(得分:1)

这不是答案,但我无法评论这个神奇的论坛......呵呵*一个很好的规则*

你的.bat文件在哪里?..他的路径是..

这条路径C:\Users\Admin\Directory\Config不是os窗口的默认路径..所以在环境中没有一个变量没有这个值..并且你不能使用这样的变量直到你追加她:

setx ConfigDirectory C:\Users\Admin\Directory\Config

最多可以执行的操作,直到... %userprofile%\Directory\Config\test.txt

您也可以将路径指向批处理文件的父目录

%~dp0

所以,如果您的.bat文件位于C:\Users\Admin\Directory该路径中,则直到test.txt为%~dp0\config