我建议你试试
set FILE_PATH="%~1"
echo. "%FILE_PATH%_IS_OPEN"
echo.>"%FILE_PATH%_IS_OPEN"
PAUSE
这应该设置FILE_PATH
为批处理文件看到的第一个参数 -~
删除任何封闭引号
下一行将结果回显到控制台,如果测试成功,可能会被删除。
第三行将建议的文件名括在引号中,以允许在生成的文件名中使用空格。
PAUSE 使 CMD 窗口保持打开状态,直到您按下ENTER
以查看结果。如果您的结果符合预期,也可以将其删除。
修改为将 NAME 部分的前 2 个字符替换为“AA”
set FILE_PATH="%~1"
FOR /f "delims=" %%i IN ("%file_path%") DO (SET dpi=%%~dpi&SET ni=%%~ni&SET xi=%%~xi)
SET file_path=%dpi%AA%ni:~2%%xi%
echo. "%FILE_PATH%_IS_OPEN"
echo.>"%FILE_PATH%_IS_OPEN"
PAUSE
这假定它是需要替换的前 2 个字符。它的工作原理是假设变量中的文字字符串file_path
是一个文件名,它是奇迹中的奇迹。dpi
然后将其设置为驱动器和路径、ni
名称和xi
扩展名。然后重建全名,替换名称AA
的前2个字符(dpi
(路径)+ AA + ni:2
(从第二个字符到结尾的名称)+ xi
(扩展名))