aki*_*uri 0 windows cmd batch-file
我在Context菜单中创建了一个自定义子菜单,当我遇到问题时我会更新它.
它的工作方式是我有模板文件.每当我单击子菜单上的项目(文件类型)时,该模板文件将被复制到当前文件夹并重命名.例如:
@echo off
copy C:\Windows\CustomNew\templates\html.html "%cd%"
rename html.html "New HTML Document.html"
Run Code Online (Sandbox Code Playgroud)
这段代码的问题是,如果我创建两个HTML文件,第一个重命名,但第二个不重命名.那是因为"New HTML Document.html"当前文件夹中已有一个名称文件.所以它只是保持"html.html".为了解决这个问题,我试过:
@echo off
setlocal enabledelayedexpansion
copy C:\Windows\CustomNew\templates\html.html "%cd%"
set name="New HTML Document.html"
if exist %name% (
set name="New HTML Document (2).html"
)
rename html.html !name!
Run Code Online (Sandbox Code Playgroud)
这有效,但如果我想创建两个以上的文件呢?我还有最初的问题.要解决这个问题,我需要获取"New HTML Document"其名称中包含的文件数,向其中添加1,并相应地重命名新文件.我怎么做?
实现一个计数器和一个循环:
@ECHO OFF
break>html.html
setlocal enabledelayedexpansion
set "name=New HTML Document.html"
set count=0
:loop
if not exist "%name%" goto :continue
set /a count+=1
set "name=New HTML Document (%count%).html"
goto :loop
:continue
rename html.html "%name%"
dir new*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |