我需要一个批处理脚本,我可以将文件或导向器复制到我的NAS中。我想拖动批处理中的文件或文件夹然后完成他的工作。现有的文件或目录应该被覆盖,我不想得到一些覆盖或某些问题。其他。此外,我想在此窗口的“发送到”对话框中调查此脚本。我希望你能帮忙:)。
我最大的问题是拖放功能。
谢谢
PS: 这个代码我在互联网上找到拖放但我不明白-.-
@echo off & setlocal
set "Ein=meinedatei.txt"
set "Aus=meinedatei.dat"
if exist "%Aus%" del "%Aus%"
set Zuletzt=-
for /f "tokens=2" %%i in ('findstr ".rst .pop" "%Ein%"^|sort') do call :ProcessLink "%%~i"
goto :eof
:ProcessLink
if %1==%Zuletzt% goto :eof
set Zuletzt="%~1"
(echo /%~1)>>"%Aus%"
答案 0 :(得分:0)
@echo off
:a
cls
set /p file=::drag and drop file you want to copy here::
if not exist "%file%" echo file does not exist && pause && goto :a
set /p dest=Destination path/folder:
if not exist "%dest%" echo path does not exist && pause && goto :a
copy /y %file% %dest%
if %errorlevel%==0 echo copy successful && pause && goto :a
echo copy failed.
pause
goto :a
另外,如果您想在发送到菜单中轻松添加路径/驱动器/文件夹:
1)打开cmd并输入:start %appdata%\microsoft\windows\sendto
2)右键单击文件夹内部,选择新建,然后单击快捷方式,在对话框中键入项目的位置。
答案 1 :(得分:0)
下一个脚本显示批处理参数处理;允许通过
提供最多255个参数copy & paste
(选择一些文件和文件夹,右键单击任意一个,选择复制。然后右键单击批处理文件,选择粘贴),或者drag & drop
(符合上述规定的程序)或sendto
菜单,如果您已将.bat
文件(或其快捷方式)放入shell:sendto
文件夹,或drag-drop_30401166.bat files "b c"
。您可以将echo folder
,echo file
和echo unknown
行替换为符合您要求的代码段(例如xcopy
,copy
,robocopy
等)。
@echo OFF >NUL
SETLOCAL enableextensions
echo(
echo before any shift [%~0] [%~1] [%~2] [%~3] [%~4]
echo all %%* = %*
echo(
set /A "ii=1"
:loopfor
If exist "%~1\" (
echo folder %%%ii% = %1
) else (
If exist "%~1" (
echo file %%%ii% = %1
) else (
echo unknown %%%ii% = %1
)
)
SHIFT
set /A "ii+=1"
if not [%1]==[] goto :loopfor
echo(
shift
echo after all shifts [%~0] [%~1] [%~2] [%~3] [%~4]
echo all %%* = %*
pause
goto :eof
输出样本:
before any shift [D:\bat\StackOverflow\drag-drop_30401166.bat] [D:\bat\runcmd.vb
s] [D:\bat\crlferror.bat] [D:\bat\UnASCII Names] [D:\bat\Unusual Names]
all %* = D:\bat\runcmd.vbs D:\bat\crlferror.bat "D:\bat\UnASCII Names" "D:\bat
\Unusual Names"
file %1 = D:\bat\runcmd.vbs
file %2 = D:\bat\crlferror.bat
folder %3 = "D:\bat\UnASCII Names"
folder %4 = "D:\bat\Unusual Names"
after all shifts [] [] [] [] []
all %* = D:\bat\runcmd.vbs D:\bat\crlferror.bat "D:\bat\UnASCII Names" "D:\bat
\Unusual Names"
Press any key to continue . . .
输出(命令行中提供的参数):
==>drag-drop_30401166.bat files "b c"
before any shift [drag-drop_30401166.bat] [files] [b c] [] []
all %* = files "b c"
folder %1 = files
unknown %2 = "b c"
after all shifts [] [] [] [] []
all %* = files "b c"
Press any key to continue . . .
资源(必读):