标题: [其他] 求修改:拖到这里选定文件.bat,谢谢 [打印本页]
作者: yyz219 时间: 2022-12-30 16:31 标题: 求修改:拖到这里选定文件.bat,谢谢
拖到这里选定文件.bat:- ::【拖到这里选定文件】
- @echo off
- explorer /select,%~1
- exit
复制代码
将文件拖到批处理图标,会(在新窗口)打开文件所在目录,并且选定这个文件
*******************************************************
现在希望:将文件拖到批处理图标,在原来窗口(不打开新窗口)选定这个文件
谢谢
作者: yyz219 时间: 2023-1-1 17:35
拖到这里选定文件.bat:将文件拖到批处理图标,会(在新窗口)打开文件所在目录,并且选定这个文件
****** ...
yyz219 发表于 2022-12-30 16:31
是不是不能够解决?
作者: idwma 时间: 2023-1-1 18:00
搜一下排第一个的就是呀- #@&cls&powershell "$a='%~1';type '%~f0'|out-string|iex"&exit
- add-type @'
- using System;
- using System.IO;
- using System.Text;
- using System.Runtime.InteropServices;
- using System.Diagnostics;
- using System.ComponentModel;
-
- public static class test
- {
- [DllImport("shell32.dll", ExactSpelling = true)]
- private static extern void ILFree(IntPtr pidlList);
-
- [DllImport("shell32.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
- private static extern IntPtr ILCreateFromPathW(string pszPath);
-
- [DllImport("shell32.dll", ExactSpelling = true)]
- private static extern int SHOpenFolderAndSelectItems(IntPtr pidlList, uint cild, IntPtr children, uint dwFlags);
-
- public static void ExplorerFile(string filePath)
- {
- if (!File.Exists(filePath) && !Directory.Exists(filePath))
- return;
- if (Directory.Exists(filePath))
- Process.Start(@"explorer.exe", "/select,\"" + filePath + "\"");
- else
- {
- IntPtr pidlList = ILCreateFromPathW(filePath);
- if (pidlList != IntPtr.Zero)
- {
- try
- {
- Marshal.ThrowExceptionForHR(SHOpenFolderAndSelectItems(pidlList, 0, IntPtr.Zero, 0));
- }
- finally
- {
- ILFree(pidlList);
- }
- }
- }
- }
- }
- '@
- [test]::ExplorerFile($a)
复制代码
作者: yyz219 时间: 2023-1-1 18:13
搜一下排第一个的就是呀
idwma 发表于 2023-1-1 18:00
感谢你的帮助
作者: yyz219 时间: 2023-1-1 18:18
搜一下排第一个的就是呀
idwma 发表于 2023-1-1 18:00
一.有一点慢
二、对桌面的文件,还是会在新窗口打开再选定
有没有办法修改一下?谢谢
作者: idwma 时间: 2023-1-1 18:23
powershell第一次启动是有一点慢的
两个桌面的路径不一样,这个不会改呀
作者: yyz219 时间: 2023-1-1 18:37
powershell第一次启动是有一点慢的
两个桌面的路径不一样,这个不会改呀
idwma 发表于 2023-1-1 18:23
谢谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |