gpt4 book ai didi

windows - 使用变量重命名文件

转载 作者:可可西里 更新时间:2023-11-01 11:48:40 24 4
gpt4 key购买 nike

我正在尝试进行设置,以便我可以右键单击文件并选择上下文命令。我已将 .bat 放入注册表以及类似的所有内容。我的问题是我想删除我右键单击的文件的空格,因为我正在使用的其他程序的命令行似乎与文件名中的空格不兼容。

@echo off
SET rn="%1"
ren %rn% % rn: =%
SET input="%1"
SET outname="%~d1%~p1%~n1signed.pdf"
cd "C:\Program Files (x86)\PDFtk Server\bin"
pdftk %input: =% background Z:\Documents\docsig.pdf output %outname: =%
pause

我对批处理很陌生。也许解决方案很简单?问题是我不希望批处理一次重命名多个文件。我发现所有有用的东西都会同时处理整个目录。

@echo off
setlocal enabledelayedexpansion
for %%a in (* *) do (
set file=%%a
ren "!file!" "!file: =!"
)

上面就是这样的一个例子。有没有办法调整它以仅更改我右键单击的文件?

提前致谢!

最佳答案

解决方案确实简单得多:只需使用短 (8.3) 路径名。短路径名不包含空格。额外的好处:您根本不需要重命名任何文件。

以下批处理脚本显示目录中的所有文件,以说明 %~s1 修饰符的用法。您可以轻松地使其适应您的需求:

for %%a in (*.*) do (
@echo %%~sa
)

在您的第一个脚本中,您可以删除试图重命名文件的两行,并改用 SET input="%%~s1"

批处理参数修饰符记录在 Using batch parameters 下.

关于windows - 使用变量重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36610724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com