@set @i=0 /* & @echo off&cscript -E:JScript -nologo %0 %* & pause & exit */ var ws = new ActiveXObject("WScript.Shell"); var fso = new ActiveXObject("Scripting.FileSystemObject"); for (var i = 0; i < WSH.Arguments.length; i++) { var ink = ws.CreateShortcut(WSH.Arguments(i)); var folder = fso.GetParentFolderName(ink.TargetPath); var newFolder = fso.BuildPath(folder, "new_folder"); if (!fso.FolderExists(newFolder)) fso.CreateFolder(newFolder); }帮我改进这段批处理代码,使LNK路径参数可以通过将桌面图标拖到CMD窗口来获取
时间: 2023-06-26 17:09:57 浏览: 134
w3cscript-webapp:w3cscript测试版webapp
以下是改进后的代码,它将接受拖动到CMD窗口上的桌面图标,并在该图标所在的文件夹中创建一个名为“new_folder”的文件夹。
```
@echo off
setlocal EnableDelayedExpansion
if "%~1"=="" (
echo Usage: %0 ^<lnk file^>
exit /b 1
)
set "lnk=%~f1"
set "folder=%~dp1"
set "shell=CreateObject(\"WScript.Shell\")"
set "fso=CreateObject(\"Scripting.FileSystemObject\")"
set "newFolder=!folder!new_folder"
if not exist "!newFolder!" (
cmd /c "!shell!.Run(\"cmd /c mkdir "!newFolder!"\", 0, true)"
)
cmd /c "!shell!.Run(\"explorer "!folder!"\", 0, false)"
```
请注意,由于 Windows 中的 CMD 窗口不支持将多个文件拖到窗口中,因此该代码仅处理第一个拖动到窗口中的文件,忽略其余的。
阅读全文