我希望能够使用"发送到"使用此批处理文件时的功能(右键单击文件时)。
它需要为每个选定的文件创建一个文件名,文件名与文件本身在同一目录中。 (不需要移动文件)
以下代码有所帮助,但这会为目录中的所有文件创建文件夹,并将其放在批处理文件的目录中。
@echo off
pushd %~dp0
for /f "delims=" %%a in ('dir /b') do (
if not "%%~fa"=="%~f0" (
md "%%~na" 2>nul
)
)
popd
我认为文件目录需要使用以下功能,但不确定如何调用它。
%CD%
我对批处理文件比较新,所以任何额外的解释都会有所帮助,但不是必需的。
即使它一次只能在一个文件上运行,这也很好,因为它不需要选择文件。
随时随地学习,感谢您的帮助!
答案 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