用批处理bat.如何在指定目录当前日期的文件夹中新建一个文件夹,文件夹的名字为粘贴板内容,并且打开?

用批处理bat.如何在指定目录当前日期的文件夹中新建一个文件夹,文件夹的名字为粘贴板内容,并且打开,文件夹路径结构如图 ,

您可以使用以下批处理脚本实现这个功能:
@echo off
setlocal

REM 设置要创建文件夹的目录路径
set "folder_path=C:\example\%date:~0,4%-%date:~5,2%-%date:~8,2%"

REM 检查文件夹是否存在,如果不存在则创建它
if not exist "%folder_path%" ( mkdir "%folder_path%"
)

REM 获取剪贴板的内容并将其作为文件夹名称
set /p "folder_name=" < "con"
md "%folder_path%\%folder_name%"

REM 打开新创建的文件夹
start "" "%folder_path%\%folder_name%"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-28
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312<# :
cls&echo off&cd /d "%~dp0"&set "current=%cd%"
rem 读取剪贴板文字内容作为名字,在一个指定目录里以当天日期命名的文件夹里新建一个文件夹并打开该新建文件夹
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$newfolder="T:\<1>\<2>";
$today=(get-date).toString('MM-dd-yyyy');
$newfolder=$newfolder.replace('<1>', $today);
Add-Type -AssemblyName System.Windows.Forms;$name=@();
if([Windows.Forms.Clipboard]::ContainsText()){
    $name=[Windows.Forms.Clipboard]::GetText() -split '[\r\n]';
    $newfolder=$newfolder.replace('<2>', $name[0].trim());
    if(-not [IO.Directory]::Exists($newfolder)){
        try{
            [void][IO.Directory]::CreateDirectory($newfolder);
        }catch{
            write-host $newfolder;
            write-host $error[0].exception.message -ForegroundColor red;
        }
    }
    if([IO.Directory]::Exists($newfolder)){Start-Process explorer.exe $newfolder;}
}else{wrrite-host 'No text';}

本回答被提问者采纳
第2个回答  2023-03-28

:On Error Resume Next

:Sub bat

echo off & cls

echo '>nul & title 获取剪切板,创建文件夹并打开它 By 依梦琴瑶

echo '>nul & for /f "delims=" %%a in ('cscript /nologo /e:vbscript "%~f0"') do set "Str=%%~a"

echo '>nul & set "NowFolder=T:\%date:~5,2%-%date:~8,2%-%date:~,4%\%Str%"

echo '>nul & md "%NowFolder%"

echo '>nul & start "" "%NowFolder%"

Exit Sub : End Sub

Set Fso = Createobject("Scripting.FileSystemObject")

Set objShell = CreateObject("Wscript.Shell")

Set objHTML = CreateObject("htmlfile")

ClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text")

Wscript.Echo ClipboardText


保存时的编码请设为ANSI

相似回答