如何重命名**整个**路径

如何重命名**整个**路径

Windows 8.1我需要在此文件路径中重命名(特别是不要复制或移动)

D:\Users\hynek0\1703.08094.pdf – zástupce

到这条路

C:\Users\hynek0\1703.08094.pdf – zástupce

这里– zástupce是捷克语的参考单词 (.lnk) 文件。

请注意这里的不同D:\磁盘C:\

我知道如果它位于同一磁盘和目录中,如何重命名:

C:\Users\a.pdf

C:\Users\b.pdf

此外,更广泛地说,我想重新命名全部文件

D:\Users\hynek0\*.pdf – zástupce

C:\Users\hynek0\*.pdf – zástupce

最后没有– zástupce

D:\Users\hynek0\*.pdf

C:\Users\hynek0\*.pdf

答案1

您误解了“重命名”的实际含义。

重命名意味着更改某个文件或文件夹的名称或扩展名。您尝试执行的是移动操作。

您必须先将 PDF 文件复制到 D 盘和 C 盘上的同一文件夹中。然后您必须删除 D 盘中的文件。这样 PDF 将存在于 C 盘上的文件夹中。

像这样,您可以使用批处理脚本来移动所有 PDF 文件:

@echo off
cd "Source path"
for %%a in (*.pdf) do (
  move "%%~fa" "Destination path\"
)
exit /b 0

答案2

为什么不直接删除不需要的字符串?

Ren "C:\Users\hynek0\*.pdf – z?stupce.lnk" "*.pdf.lnk"

:: or, without/removing .lnk ::

Ren "C:\Users\hynek0\*.pdf – z?stupce.lnk" "*.pdf"

或者,复制并重命名此文件:

copy "D:\Users\hynek0\*.pdf – zástupce.lnk" "C:\Users\hynek0\*.pdf.lnk"

rem :: or, wit removing .lnk ::

copy "D:\Users\hynek0\*.pdf – zástupce.lnk" "C:\Users\hynek0\*.pdf"

您还可以使用子字符串:

rem :: string: .pdf – zástupce.lnk
rem ::         |||||||||||||||||||
rem :: length: 1234567890123456789 == 19 

rem :: recursive loop rename and removing the last 19 characters: "%_name:~0,-19%.lnk"
for /r "C:\Users\hynek0" %i in (*.lnk)do set "_name=%~nxi" && @call ren "%~i" "%_name:~0,-19%.lnk"

rem :: rename removing the last 19 characters: "%_name:~0,-19%.lnk"

进一步阅读:

相关内容