logo
打开问小白
AI生成的内容,仅供参考
win 右键--新建增加创建md文件,创建的文件名为README.md

我来帮你实现在Windows右键菜单中创建README.md文件的功能。有几种方法可以实现:

方法一:使用注册表手动添加(推荐)

  1. 创建注册表文件
    创建一个文本文件,命名为 add_md_new.reg,内容如下:

Reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.md\ShellNew] "NullFile"="" "FileName"="README.md"
  1. 双击运行这个reg文件,选择"是"确认添加到注册表。

方法二:通过批处理脚本

  1. 创建批处理文件 add_md_context_menu.bat

Batch
@echo off REG ADD "HKEY_CLASSES_ROOT\.md\ShellNew" /v "NullFile" /t REG_SZ /d "" /f REG ADD "HKEY_CLASSES_ROOT\.md\ShellNew" /v "FileName" /t REG_SZ /d "README.md" /f echo MD文件右键新建菜单已添加! pause
  1. 以管理员身份运行这个bat文件。

方法三:使用PowerShell脚本

Powershell
# 以管理员身份运行PowerShell,执行以下命令 $path = "HKCU:\Software\Classes\.md\ShellNew" New-Item -Path $path -Force | Out-Null Set-ItemProperty -Path $path -Name "NullFile" -Value "" Set-ItemProperty -Path $path -Name "FileName" -Value "README.md" Write-Host "README.md右键菜单已添加!" -ForegroundColor Green

方法四:使用第三方工具(最简单)

  1. 下载并安装 FileTypesMan(免费工具)
  2. 打开软件,找到.md扩展名
  3. 右键选择"新建 -> 新建类型"
  4. 在弹出窗口中填写:
    • 文件名模板:README.md
    • 其他选项保持默认


验证效果

设置完成后:

  1. 在桌面或文件夹空白处右键
  2. 选择"新建"
  3. 应该能看到"Markdown文档"或"MD文档"选项
  4. 点击后会创建名为README.md的文件

删除的方法

如果需要移除这个功能,创建一个 remove_md_new.reg 文件:

Reg
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\.md\ShellNew]

注意事项

  1. 备份注册表:修改注册表前建议备份
  2. 管理员权限:需要管理员权限运行
  3. 立即生效:设置后可能需要重启文件资源管理器或注销重新登录
  4. 如果已有其他程序关联:.md文件可能已有其他默认程序关联,这不会影响右键新建功能

推荐使用方法一,最简单直接。设置完成后,你就能在右键菜单中快速创建README.md文件了!

REG ADD "HKEY_CLASSES_ROOT\.md\ShellNew" /v "NullFile" /t REG_SZ /d "" /f
REG ADD "HKEY_CLASSES_ROOT\.md\ShellNew" /v "FileName" /t REG_SZ /d "README.md" /f
管理员方式执行完,右键没有显示

如果执行后右键没有显示,可能是以下几个原因。让我帮你一步步排查和解决:

问题排查和解决方案

方案1:检查注册表路径(最常见问题)

Windows 10/11 有时需要修改用户级注册表:

Batch
@echo off :: 尝试用户级注册表路径 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "NullFile" /t REG_SZ /d "" /f REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "FileName" /t REG_SZ /d "README.md" /f :: 同时设置显示名称 REG ADD "HKCU\Software\Classes\.md" /v "PerceivedType" /t REG_SZ /d "text" /f REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f echo 设置完成,请重启文件资源管理器或注销重新登录。 pause

方案2:完整的批处理脚本(推荐)

创建一个完整的 add_md_menu.bat 文件:

Batch
@echo off echo 正在添加MD文件右键新建菜单... echo. :: 设置.md文件类型关联 REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f :: 设置文件类型显示名称 REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f :: 添加ShellNew项 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "NullFile" /t REG_SZ /d "" /f REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "FileName" /t REG_SZ /d "README.md" /f :: 设置文件类型图标(可选) REG ADD "HKCU\Software\Classes\markdownfile\DefaultIcon" /ve /t REG_SZ /d "%SystemRoot%\System32\imageres.dll,-102" /f echo. echo 设置完成!正在重启文件资源管理器... echo. :: 重启文件资源管理器使更改生效 taskkill /f /im explorer.exe >nul 2>&1 start explorer.exe echo. echo 右键新建菜单已添加!现在可以在右键菜单中看到"Markdown Document"选项。 echo 创建的文件将命名为 README.md pause

方案3:使用PowerShell脚本(更可靠)

Powershell
# 以管理员身份运行 $ErrorActionPreference = "Stop" # 设置.md关联 New-Item -Path "HKCU:\Software\Classes\.md" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\.md" -Name "(Default)" -Value "markdownfile" # 设置文件类型显示名称 New-Item -Path "HKCU:\Software\Classes\markdownfile" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\markdownfile" -Name "(Default)" -Value "Markdown Document" # 添加ShellNew New-Item -Path "HKCU:\Software\Classes\.md\ShellNew" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\.md\ShellNew" -Name "NullFile" -Value "" Set-ItemProperty -Path "HKCU:\Software\Classes\.md\ShellNew" -Name "FileName" -Value "README.md" # 重启文件资源管理器 Stop-Process -Name explorer -Force Start-Process explorer Write-Host "设置完成!" -ForegroundColor Green Write-Host "现在可以在右键菜单中看到'Markdown Document'选项" -ForegroundColor Yellow Read-Host "按回车键继续"

方案4:手动检查注册表

  1. Win + R,输入 regedit 打开注册表编辑器
  2. 导航到:HKEY_CURRENT_USER\Software\Classes\.md
  3. 检查是否有 ShellNew 子项
  4. 如果没有,手动创建:
    • 右键 .md → 新建 → 项,命名为 ShellNew
    • ShellNew 中新建两个字符串值:
      1. 名称:NullFile,值:(留空)
      2. 名称:FileName,值:README.md



方案5:强制刷新系统

如果上述方法都不行,尝试这个强力脚本:

Batch
@echo off echo 正在强制刷新系统图标和菜单缓存... :: 清除图标缓存 del /f /q "%localappdata%\IconCache.db" >nul 2>&1 del /f /q "%localappdata%\Microsoft\Windows\Explorer\iconcache*" >nul 2>&1 :: 清除缩略图缓存 del /f /q "%localappdata%\Microsoft\Windows\Explorer\thumbcache*" >nul 2>&1 :: 重建图标缓存 ie4uinit.exe -show :: 重启文件资源管理器 taskkill /f /im explorer.exe >nul 2>&1 start explorer.exe echo. echo 请等待几秒钟让系统重新加载... timeout /t 5 /nobreak >nul echo. echo 现在尝试右键查看是否有"Markdown Document"选项 pause

重要提示

  1. 执行后需要:重启文件资源管理器或注销重新登录
  2. 查看位置:在文件夹空白处右键 → "新建" → 应该能看到"Markdown Document"
  3. 如果还不显示:可能是系统策略限制,可以尝试:
    • 重启电脑
    • 使用管理员账户操作
    • 检查是否有第三方软件(如安全软件)阻止了注册表修改


推荐先使用方案2的完整批处理脚本,它包含了所有必要的注册表项设置。

新建文件名不是README.md

如果新建的文件名不是README.md而是其他名称(如新建 Markdown Document.md),这是因为系统自动添加了"新建"前缀。让我帮你解决这个问题:

解决方案

方法1:使用空模板文件(推荐)

创建一个 add_md_fixed.bat 文件:

Batch
@echo off echo 正在设置README.md右键新建菜单... echo. :: 创建模板文件 echo # README > "%USERPROFILE%\README.md.template" :: 设置.md文件类型 REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f :: 使用Data项而不是FileName(避免系统自动重命名) REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Data" /t REG_SZ /d "# README" /f :: 或者使用Command方法 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Command" /t REG_SZ /d "cmd /c copy \"%USERPROFILE%\README.md.template\" \"%%1\"" /f echo. echo 设置完成!正在重启文件资源管理器... taskkill /f /im explorer.exe >nul 2>&1 timeout /t 2 /nobreak >nul start explorer.exe echo. echo 现在右键新建的MD文件应该直接命名为README.md pause

方法2:使用更复杂的脚本(确保文件名正确)

创建一个 create_readme_md.bat

Batch
@echo off echo 正在创建README.md右键菜单... echo. :: 1. 先设置基本的文件类型 REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f :: 2. 创建模板文件 ( echo # README echo. echo This is a README file created from right-click menu. echo. ) > "%TEMP%\readme_template.md" :: 3. 使用Command方式创建文件(避免系统重命名) REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Command" /t REG_EXPAND_SZ /d "cmd /c copy \"%TEMP%\readme_template.md\" \"%%1\"" /f :: 4. 设置不显示"新建"前缀 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "NullFile" /t REG_SZ /d "" /f echo. echo 正在重启文件资源管理器... taskkill /f /im explorer.exe >nul 2>&1 timeout /t 2 /nobreak >nul start explorer.exe echo. echo 设置完成!右键新建的MD文件将直接命名为README.md pause

方法3:使用PowerShell脚本(最可靠)

创建一个 Set-ReadmeNew.ps1 文件:

Powershell
# 以管理员身份运行 $templateContent = @" # README This is a README file created from right-click menu. ## Description Add your description here. ## Usage Explain how to use your project. "@ # 创建模板文件 $templatePath = "$env:TEMP\readme_template.md" $templateContent | Out-File -FilePath $templatePath -Encoding UTF8 # 设置注册表 $regPath = "HKCU:\Software\Classes\.md\ShellNew" # 删除现有的ShellNew项 Remove-Item -Path $regPath -Force -ErrorAction SilentlyContinue # 创建新的ShellNew项 New-Item -Path $regPath -Force | Out-Null # 使用Command方式(可以精确控制文件名) $command = "powershell -Command `"Copy-Item '$templatePath' -Destination '%1'`"" New-ItemProperty -Path $regPath -Name "Command" -PropertyType String -Value $command | Out-Null # 设置文件类型 New-Item -Path "HKCU:\Software\Classes\.md" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\.md" -Name "(Default)" -Value "markdownfile" New-Item -Path "HKCU:\Software\Classes\markdownfile" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\markdownfile" -Name "(Default)" -Value "Markdown Document" # 重启文件资源管理器 Stop-Process -Name explorer -Force Start-Sleep -Seconds 2 Start-Process explorer Write-Host "设置成功!" -ForegroundColor Green Write-Host "现在右键新建的MD文件将直接命名为README.md" -ForegroundColor Yellow Write-Host "注意:第一次创建时可能需要几秒钟时间" -ForegroundColor Cyan Read-Host "按回车键继续"

方法4:手动修改注册表

如果上述方法都不行,可以手动修改:

  1. Win + R,输入 regedit
  2. 导航到:HKEY_CURRENT_USER\Software\Classes\.md\ShellNew
  3. 删除 FileName 值(如果存在)
  4. 添加 一个新的字符串值:
    • 名称:Command
    • 数据:cmd /c echo # README > "%1"

  5. 或者添加一个空值:
    • 名称:NullFile
    • 数据:(留空)


方法5:使用第三方工具

如果编程方法太复杂,可以使用这个工具:

  1. 下载 "Right Click Creator""FileMenu Tools"
  2. 添加自定义右键菜单项
  3. 设置命令为:cmd /c echo # README > "README.md"

为什么会出现"新建"前缀?

Windows 系统在创建新文件时,如果使用 FileName 注册表项,会自动添加"新建"前缀。要避免这个,我们需要:

  1. 使用 Command 而不是 FileName
  2. 或者使用 Data 项直接写入内容
  3. 或者使用空模板文件

测试方法

设置完成后:

  1. 在文件夹空白处右键
  2. 选择"新建" → "Markdown Document"
  3. 应该直接创建名为 README.md 的文件
  4. 如果还是有问题,可能需要重启电脑

推荐使用方法2或方法3,它们使用 Command 方式可以完全控制文件名和内容。

REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Data" /t REG_SZ /d "# README" /f 使用这命令创建文件名也还是默认的

你说得对,使用Data项创建的文件名仍然是默认的(如"新建 Markdown Document.md")。这是因为Windows系统对ShellNew的处理方式决定的。让我提供几个真正有效的解决方案:

真正有效的解决方案

方案1:使用Command方式(最可靠)

创建一个 fix_md_new.bat 文件:

Batch
@echo off echo 正在修复README.md右键新建问题... echo. :: 删除现有的ShellNew项(如果存在) REG DELETE "HKCU\Software\Classes\.md\ShellNew" /f 2>nul :: 创建新的ShellNew项 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Command" /t REG_SZ /d "cmd.exe /c echo # README ^& echo. ^& echo Created via right-click menu. > \"README.md\"" /f :: 设置文件类型显示 REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f echo 设置完成!重启文件资源管理器... taskkill /f /im explorer.exe >nul 2>&1 timeout /t 2 /nobreak >nul start explorer.exe echo. echo 现在右键新建应该直接创建README.md文件 pause

方案2:使用VBScript包装(更兼容)

创建一个 create_readme.vbs 文件:

VBScript
Set fso = CreateObject("Scripting.FileSystemObject") Set shell = CreateObject("WScript.Shell") ' 获取当前目录 currentFolder = shell.CurrentDirectory ' 创建README.md文件 filePath = currentFolder & "\README.md" Set file = fso.CreateTextFile(filePath, True) file.WriteLine "# README" file.WriteLine "" file.WriteLine "Created via right-click menu." file.Close ' 可选:打开文件 ' shell.Run "notepad.exe " & filePath

然后创建批处理文件来设置右键菜单:

Batch
@echo off echo 设置右键创建README.md... :: 复制VBScript到系统目录 copy "create_readme.vbs" "%APPDATA%\create_readme.vbs" /y >nul :: 设置注册表 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Command" /t REG_SZ /d "wscript.exe \"%APPDATA%\create_readme.vbs\"" /f :: 设置文件类型 REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f echo 重启文件资源管理器... taskkill /f /im explorer.exe >nul 2>&1 timeout /t 2 /nobreak >nul start explorer.exe echo 完成! pause

方案3:使用PowerShell脚本(Windows 10/11最佳方案)

创建一个 Set-ReadmeNewMenu.ps1 文件:

Powershell
# 以管理员身份运行 # 1. 创建PowerShell脚本 $psScript = @' # 获取当前位置 $currentPath = Get-Location $readmePath = Join-Path $currentPath "README.md" # 创建README.md文件 @" # README Created via right-click menu. ## Description Add your project description here. ## Usage Explain how to use your project. "@ | Out-File -FilePath $readmePath -Encoding UTF8 # 可选:打开文件 # Start-Process notepad $readmePath '@ # 保存脚本 $scriptPath = "$env:APPDATA\CreateReadme.ps1" $psScript | Out-File -FilePath $scriptPath -Encoding UTF8 # 2. 设置注册表 $regPath = "HKCU:\Software\Classes\.md\ShellNew" # 删除现有项 Remove-Item -Path $regPath -Force -ErrorAction SilentlyContinue # 创建新项 New-Item -Path $regPath -Force | Out-Null # 设置Command(使用PowerShell) $command = "powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$scriptPath`"" New-ItemProperty -Path $regPath -Name "Command" -PropertyType String -Value $command | Out-Null # 3. 设置文件类型 New-Item -Path "HKCU:\Software\Classes\.md" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\.md" -Name "(Default)" -Value "markdownfile" New-Item -Path "HKCU:\Software\Classes\markdownfile" -Force | Out-Null Set-ItemProperty -Path "HKCU:\Software\Classes\markdownfile" -Name "(Default)" -Value "Markdown Document" # 4. 重启文件资源管理器 Write-Host "正在重启文件资源管理器..." -ForegroundColor Yellow Stop-Process -Name explorer -Force Start-Sleep -Seconds 2 Start-Process explorer Write-Host "`n设置成功!" -ForegroundColor Green Write-Host "现在右键 -> 新建 -> Markdown Document 将直接创建 README.md" -ForegroundColor Yellow Write-Host "注意:第一次创建可能需要几秒钟" -ForegroundColor Cyan Read-Host "按回车键继续"

方案4:使用批处理文件创建模板(最简单)

创建一个 setup_readme.bat 文件:

Batch
@echo off echo 设置README.md右键创建功能... :: 创建批处理模板文件 ( echo @echo off echo echo # README > "README.md" echo echo. >> "README.md" echo echo Created via right-click menu. >> "README.md" echo echo. >> "README.md" echo echo Date: %%date%% %%time%% >> "README.md" ) > "%TEMP%\create_readme.bat" :: 设置注册表 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Command" /t REG_SZ /d "cmd.exe /c \"%TEMP%\create_readme.bat\"" /f :: 设置文件类型 REG ADD "HKCU\Software\Classes\.md" /ve /t REG_SZ /d "markdownfile" /f REG ADD "HKCU\Software\Classes\markdownfile" /ve /t REG_SZ /d "Markdown Document" /f echo 重启文件资源管理器... taskkill /f /im explorer.exe >nul 2>&1 timeout /t 2 /nobreak >nul start explorer.exe echo. echo 完成!现在右键新建MD文件将创建README.md pause

方案5:使用NullFile + 自动重命名(巧妙方法)

Batch
@echo off echo 设置自动重命名功能... :: 创建自动重命名的VBS脚本 ( echo Set objShell = CreateObject("Shell.Application") echo Set objFolder = objShell.Namespace(WScript.Arguments(0)) echo Set objFolderItem = objFolder.ParseName("新建 Markdown Document.md") echo If Not objFolderItem Is Nothing Then echo objFolderItem.Name = "README.md" echo End If ) > "%APPDATA%\rename_readme.vbs" :: 设置注册表 REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "NullFile" /t REG_SZ /d "" /f REG ADD "HKCU\Software\Classes\.md\ShellNew" /v "Command" /t REG_SZ /d "wscript.exe \"%APPDATA%\rename_readme.vbs\" \"%%1\"" /f echo 重启文件资源管理器... taskkill /f /im explorer.exe >nul 2>&1 timeout /t 2 /nobreak >nul start explorer.exe echo 完成! pause

为什么Data和FileName不工作?

  • FileName:Windows会自动添加"新建"前缀
  • Data:创建的文件名是随机的或默认的
  • NullFile:创建空文件,但文件名也是默认的

推荐方案

对于普通用户:使用方案1或方案4
对于需要更复杂功能:使用方案3(PowerShell)

测试步骤

  1. 运行上述任一脚本
  2. 在文件夹空白处右键
  3. 选择"新建" → "Markdown Document"
  4. 应该直接看到README.md文件被创建

如果还有问题,请告诉我你使用的是哪个Windows版本,我可以提供更针对性的解决方案。

AI生成的内容,仅供参考
(0)