为何@ALTNAME结合变量无法生效?TCC脚本问题求助
解决TCC脚本中提取文件短名称(不含完整路径)的问题
你的脚本核心错误是调用@ALTNAME时没有正确引用变量值:直接写FNAME会被TCC当成字面文件名,而非你之前存入的%@filename[%1]结果。
修正后的基础脚本
set FNAME=%@filename[%1] set ANAME=%@altname[%FNAME] echo Name of the file: echo %FNAME echo. echo Shortened name of the file: echo %ANAME echo.
补充说明(处理跨目录场景)
如果传入的%1是其他目录下的文件,仅用文件名可能导致@ALTNAME找不到目标文件,这时可以先切换到文件所在目录再处理:
set FULL_PATH=%1 set FILE_DIR=%@path[%FULL_PATH] set FNAME=%@filename[%FULL_PATH] cd /d %FILE_DIR% set ANAME=%@altname[%FNAME] cd /d %@path[%0] # 切回脚本所在原目录 echo Name of the file: echo %FNAME echo. echo Shortened name of the file: echo %ANAME echo.
内容的提问来源于stack exchange,提问作者adriana
相关产品推荐
相关产品推荐

