.bat用于重命名另一个文件而不给出路径的文件

问题描述:

我有一个文件夹,它拥有一个.bat文件和另一个名为Config的文件夹。.bat用于重命名另一个文件而不给出路径的文件

我不知道如何重命名文件夹(文件)中的文件(test.txt),而无需指定文件的路径。

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

这是我已经发现重命名文件

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

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

ren %ConfigDirectory%\test.txt something.txt 

谢谢你的时间!

+0

在哪个文件夹中的.bat文件所在? – sambul35

这应该工作:

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

当前目录存储在变量%cd%中,你c应该使用一条线(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 
+0

添加引文做了正是我想要的。最后一行现在看起来像这样,也许你可以编辑你的第一篇文章。 ren“%dir%\ test.txt”something.txt –

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

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

这条道路C:\Users\Admin\Directory\Config不是默认路径Windows操作系统的..所以没有一个变量,在环境,没有这个值..直到你追加了她,你不能使用这样的变量:

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

最大可以做什么,直到.. %userprofile%\Directory\Config\test.txt

,你也可以点路径,直到该批处理文件的父目录

%~dp0

所以如果你的.bat文件是在C:\Users\Admin\Directory这条道路,直到test.txt的,将是%~dp0\config

+0

好的,我知道像%〜dp0 \ config这样的东西应该做这个工作,但是当我使用这个时:ren%〜dp0 \ config \ testt.txt something.txt 我得到这个错误:命令的语法不正确。 –

+0

我还要求不要使用路径,但让文件搜索路径本身,因为它必须编辑同一目录中的文件。 –

+0

@LesleyPeters,我不明白你的意思,但可能是这个其他人会帮助你.. 'ren“。\ config \ test.txt”“ttt”' – mir16