我使用以下注册表导入作为右键单击上下文菜单条目 NewTextFileAndOpen(在记事本中)。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"=hex(2):22,00,43,00,3a,00,5c,00,74,00,6f,00,6f,00,6c,00,73,00,5c,00,5f,\
00,49,00,43,00,4f,00,5c,00,6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,\
69,00,63,00,6f,00,22,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen\command]
@="cmd /c cd %V & echo.>NewTextFile.txt & start NewTextFile.txt"
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"=hex(2):22,00,43,00,3a,00,5c,00,74,00,6f,00,6f,00,6c,00,73,00,5c,00,5f,\
00,49,00,43,00,4f,00,5c,00,6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,\
69,00,63,00,6f,00,22,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen\command]
@="cmd /c cd %V & echo.>NewTextFile.txt & start NewTextFile.txt"
当我再次打开记事本时,使用右键单击上下文菜单NewTextFileAndOpen,任何新编辑始终保存在
NewTextFile.txt
中。我想用另一个名称保存在文本文件中。
我请求您帮助保存新的汽车名称:
NewTextFile.txt
NewTextFile (1).txt
NewTextFile (2).txt
NewTextFile (3).txt
NewTextFile (4).txt
我尝试修改以下命令行:
@="cmd /c cd %V & echo.>NewTextFile.txt & start NewTextFile.txt"
在目录
NewTextFileAndOpen.cmd
或您选择的其他目录中创建一个名称为 C:\Tools
或您喜欢的其他名称的批处理文件,其中包含以下行:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
if "%~1" == "" exit /B
set "NewFileName=%~1\NewTextFile.txt"
if not exist "%NewFileName%" goto CreateAndOpen
set "FileNumber=1"
:FindFreeNumber
set "NewFileName=%~1\NewTextFile (%FileNumber%).txt"
if exist "%NewFileName%" set /A "FileNumber+=1" & goto FindFreeNumber
:CreateAndOpen
echo(>"%NewFileName%"
start "" /D "%~1" "%NewFileName%"
endlocal
此批处理文件需要以文件夹路径作为第一个参数字符串启动。如果在没有任何参数字符串的情况下启动它,它不会执行任何操作并立即退出。
不会验证传递的参数字符串是否确实引用了现有目录,但可以通过在第一个 IF 条件后插入命令行来更改,以便在命令提示符窗口中安全使用批处理文件:
for %%I in ("%~1") do if not exist "%%~fI\" do echo No directory: "%~1"& pause & exit /B
名称为
NewTextFileAndOpen.reg
且存储在 C:\Tools
中的注册表文件应包含以下行:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,32,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen\command]
@="C:\\Windows\\System32\\cmd.exe /D /S /C \"\"C:\\Tools\\NewTextFileAndOpen.cmd\" \"%V\"\""
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,32,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen\command]
@="C:\\Windows\\System32\\cmd.exe /D /S /C \"\"C:\\Tools\\NewTextFileAndOpen.cmd\" \"%V\"\""
在本例中,注册表值
Icon
的类型为 REG_EXPAND_SZ
,其值为:
%SystemRoot%\system32\imageres.dll,-102
还可以使用以下注册表文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,32,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen\command]
@="C:\\Windows\\System32\\cmd.exe /D /S /C \"\"C:\\Tools\\NewTextFileAndOpen.cmd\" \"%V\"\""
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,32,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen\command]
@="C:\\Windows\\System32\\cmd.exe /D /S /C \"\"C:\\Tools\\NewTextFileAndOpen.cmd\" \"%V\"\""
类型
Icon
的注册表值 REG_EXPAND_SZ
在此注册表文件中具有以下值:
%SystemRoot%\notepad.exe,-2
或者使用以下注册表文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"="\"C:\\Tools\\_ICO\\notepad.ico\""
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\NewTextFileAndOpen\command]
@="C:\\Windows\\System32\\cmd.exe /D /S /C \"\"C:\\Tools\\NewTextFileAndOpen.cmd\" \"%V\"\""
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen]
@="New Text File and Open"
"Icon"="\"C:\\Tools\\_ICO\\notepad.ico\""
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\NewTextFileAndOpen\command]
@="C:\\Windows\\System32\\cmd.exe /D /S /C \"\"C:\\Tools\\NewTextFileAndOpen.cmd\" \"%V\"\""
注册表值
Icon
的类型为 REG_SZ
,其值为:
"C:\Tools\_ICO\notepad.ico"
如果
Windows安装在不同的驱动器(如
cmd.exe
)上,请修改 D:\Windows
的路径。最好使用完全限定的文件名 cmd.exe
而不是仅使用 cmd
。最好使用 REG_SZ
类型的注册表值,而不是 REG_EXPAND_SZ
类型的注册表值来执行命令。
可以通过执行命令行从命令提示符窗口中导入注册表文件:
reg.exe IMPORT "C:\Tools\NewTextFileAndOpen.reg"
使用此命令行导入注册表不需要本地管理员的提升权限。
导入注册表的批处理文件和命令行也设计用于以下目录:
C:\Temp\Development & Test(!) 100%
\\Server\Share\Folder\SubFolder
要了解所使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完整、仔细地阅读每个命令显示的帮助页面。
call /?
...解释 %~1
...删除了周围的 "
的第一个参数字符串。cmd /?
echo /?
endlocal /?
exit /?
goto /?
if /?
pause /?
set /?
setlocal /?
start /?
另请参阅:
&
。echo(
而不是 echo.