我想重命名子目录中存在的文件,文件名的已知部分是' .log '。 当我尝试下面的内容时
ren subdirectory\*.log* file2.txt
或
ren .\subdirectory\*.log* file2.txt
我收到错误: The syntax of the command is incorrect.
我在这里有两个问题:
我是否总是需要在ren命令中为file1提供完整路径?
如果是,那么如果我不想硬编码,我怎么能给出完整的路径呢?
我知道我们可以使用' %~dp0 '获取当前目录路径,但我不确定如何使用' ren'。
答案 0 :(得分:1)
如果您想使用相对路径,/
在Windows中不正确,请改用\
。
如果要搜索哪个相对路径正确,请使用命令dir
示例:
dir .\
dir ..\..\
dir \
dir .
dir ..
<强>更新强>
ren subdirectory\*.log* file2.txt
您的重命名面具似乎危险!
我不知道您是否可以使用掩码通配符将许多文件重命名为相同的名称。我认为它会将每个文件覆盖为一个,或者至少它会连接成单个文件但不确定。 如果您想查看重命名掩码的一些示例,请参阅:How does the Windows RENAME command interpret wildcards?
<强>更新强>
小批量看你的面具:
@echo off
md Somefolder
echo some content into _file1.log>_file1.log
echo some content into _file2.log>_file2.log
echo some content into _file3.log>_file3.log
echo some content into _file999.log>_file999.log
dir Somefolder
pause>NUL
REM Correct
ren Somefolder\_file???.log _file???.txt
dir Somefolder
pause>NUL
REM Incorrect because it override _file???.txt into one _file1.log
ren Somefolder\_file???.txt _file1.log
dir Somefolder
pause
答案 1 :(得分:1)
答案 2 :(得分:0)
删除所有文件的扩展名 *.log 和相对路径
rename ".\folder1\subfolder1\*.log" *.