批处理文件,用于在文件目录中创建所选文件的文件夹

时间:2014-12-17 23:40:01

标签: batch-file directory

我希望能够使用"发送到"使用此批处理文件时的功能(右键单击文件时)。

它需要为每个选定的文件创建一个文件名,文件名与文件本身在同一目录中。 (不需要移动文件)

以下代码有所帮助,但这会为目录中的所有文件创建文件夹,并将其放在批处理文件的目录中。

@echo off
pushd %~dp0
for /f "delims=" %%a in ('dir /b') do (
if not "%%~fa"=="%~f0" (
md "%%~na" 2>nul
)
)
popd

我认为文件目录需要使用以下功能,但不确定如何调用它。

%CD%

我对批处理文件比较新,所以任何额外的解释都会有所帮助,但不是必需的。

即使它一次只能在一个文件上运行,这也很好,因为它不需要选择文件。

随时随地学习,感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这应该做你想要的。在“发送到”菜单中尝试使用此脚本:

@ECHO OFF
SETLOCAL

:ProcessFile
REM Check if there are any files to process.
IF "%~1"=="" GOTO :EOF

REM Process the current file.
SET NewDir="%~dpn1\"

REM Create the directory if it doesn't already exist.
IF NOT EXIST %NewDir% MKDIR %NewDir%

REM Move to the next selected file.
SHIFT /1

REM Recurse.
GOTO ProcessFile

ENDLOCAL