批次文件以在当前目录中创建新文件夹,并使用剪贴板的名称

问题描述 投票:0回答:3

thighighlighting文本要复制主题名称。

右键单击我所在的任何目录并创建一个新文件夹。

命名新文件夹。

    我想做的就是创建一个执行此操作的批处理文件,然后我将其添加到Explorer上下文窗口中,并为批处理文件创建一个键盘快捷键。
  1. 就像主题所说的那样,我想:
  2. 创建了一个批处理文件,该文件将在我正在工作的当前目录中创建一个新文件夹。文件夹的名称应来自剪贴板。
  3. 这对我来说是新的,但我目前了解
mkdir

对于新文件夹 我相信

%clipboard%

对于剪贴板

%cd%

对于当前目录。

有第三方免费的工具可以读取剪贴板 - 但是,我知道的任何方式都不会公开Explorer窗口中的当前目录 - 这意味着您无法在探险家窗口中操作它的同一地点编程地创建一个文件夹。

但是,您可以使用免费的

autohotkey
来按键,单击并从简单的热键中复制到剪贴板,粘贴等。

对于上下文菜单集成,可能是superuser.com是一个更好的地方

对于剪贴板的文件夹创建
batch-file directory clipboard
3个回答
0
投票

使用JavaScript代码使用

mshta.exe

(即Windows的一部分)从剪贴板检索数据。

    

我还在寻找类似的东西,但找不到对我有用的东西。尝试了

0
投票
,但无法在W11 24H2的全新安装(OS Build 26100.3476)上工作;即使只有一行复制到剪贴板和删除之后,它也会退出:

:: Where to create the folder should come from contextual menu as parameter if "%~1"=="" exit /b 1 if not exist "%~1" exit /b

我提出了我自己问题的部分解决方案,这可能会对任何寻求答案但有几个警告的人有帮助:

它不是纯批次脚本。这是批次/powershell混合动力车。

它在每次运行中简要打开一个窗口。
它创建了一个临时文件,我希望将来删除它,因为我慢慢了解有关PowerShell的更多信息,并在操作后删除它。

它将在剪贴板中每行创建一个文件夹。

0
投票
这里是

CB2Folder.bat

@echo off cd /d "%~1" >nul 2>&1 setlocal enabledelayedexpansion :: Save the clipboard content into a temporary file for /f "delims=" %%a in ('powershell -sta "add-type -as System.Windows.Forms; [windows.forms.clipboard]::GetText()"') do echo %%a >> temp_clipboard.txt :: Loop through the file and create a folder for each line (splitted by newlines) for /f "delims=" %%b in (temp_clipboard.txt) do ( if not "%%b"=="" ( echo Creating folder: %%b mkdir "%%b" ) ) :: Clean up the temporary file del temp_clipboard.txt
要添加到文件夹的上下文菜单(将创建所选文件夹中的文件夹)和shell(将在当前文件夹中创建文件夹),将批处理脚本移至

C:\Scripts\

,然后将下面保存为.reg文件并运行它。
    注:在.reg文件中,批处理文件的文件名应更改为其文件名的任何内容。
  1. CB2Folder.bat
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.