我建议你尝试
set FILE_PATH="%~1"
echo. "%FILE_PATH%_IS_OPEN"
echo.>"%FILE_PATH%_IS_OPEN"
PAUSE
这应该设置FILE_PATH
该批处理文件看到的第一个参数 - 在~
删除任何封闭的报价
下一行相呼应,结果到控制台并且如果测试证明成功则可以将其移除。
第三行将建议的文件名用引号引起来,以允许在生成的文件名中使用空格。
暂停状态持续打开CMD窗口,直到您按ENTER
以允许您查看结果。如果您的结果符合预期,它也可以被删除。
改性“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个字符来替换NAME部分的第一2个字符。它的工作原理是假设变量file_path
中的字符串是一个文件名,奇迹是奇迹。然后将dpi
设置为驱动器和路径,ni
为名称,xi
为扩展名。然后全名被重构,用AA
为名称的前2个字符(dpi
(路径)+ AA + ni:2
(在从第二个字符到端名称)+ xi
(分机))
谢谢你今天下午试试吧,让你知道 – 2013-05-06 02:26:18
不错。程序在启动参数中传递文件名的确更有意义。 – GolezTrol 2013-05-06 19:24:14
今天早上工作! (我昨晚试了一下,但没有奏效) – 2013-05-06 19:34:01