无忧启动论坛
标题:
如何让批处理运行后,出现选择盘符界面?
[打印本页]
作者:
zgvygcj
时间:
2019-9-12 18:27
标题:
如何让批处理运行后,出现选择盘符界面?
本帖最后由 zgvygcj 于 2019-9-12 19:35 编辑
我向往某个盘符复制几个文件进去,但这个盘符每台电脑情况不一样,有的是C盘,有的是D盘等。所以我想在我实行我的批处理之前,出现一个手动选择你盘符,这样每台电脑就可以按自己的情况来指定盘符,选好后,再实行我的批处理。
想问各们大神帮我写个,尽量简单。
如:我要把1.txt文件复制到C盘(C盘不是固态定的)
电脑A,它的C盘其实是D盘,所以运行批处理后,需要它手动输入D盘(或者选择1,2,3,4...),这时批处理再根据它输的D盘,把1.txt文件复制到D盘
作者:
zds1210
时间:
2019-9-12 19:05
choice语句,在cmd语句里Help下
作者:
newyun
时间:
2019-9-12 22:04
直接查找指定盘有没有windows目录,然后根据获取到的盘来复制文件不就好了
作者:
nttwqz
时间:
2019-9-12 22:17
列举盘符的方式有很多种:
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%a:\ echo %%a:
复制代码
fsutil fsinfo drives
复制代码
mountvol | find ":\"
复制代码
需要管理员权限,并稍慢,但是详细
echo;list vol | diskpart | more +5 | find /i /v "DISKPART>"
复制代码
fltmc volumes
复制代码
我建议,如果能确定目标盘符有什么规律,最好能去掉选择环节自动查找,比如有特定目录或文件存在?
作者:
holley2008
时间:
2019-9-13 05:14
本帖最后由 holley2008 于 2019-9-13 06:24 编辑
不是有环境变量%systemroot%、%SystemDrive%吗?
举例:
@echo off
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if /i "%%i:"=="%SystemDrive%" (
echo,系统分区:%%i
)
)
pause>nul
复制代码
你完全用不到。
直接:copy /y 1.txt %SystemDrive% 或者 xcopy /r/y 1.txt %SystemDrive%
作者:
窄口牛
时间:
2019-9-13 08:45
本帖最后由 窄口牛 于 2019-9-13 08:47 编辑
@echo off
for /f "delims=" %%a in ('mshta "%~f0"') do echo;%%a
pause&exit /b
<script>
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, "请选择文件夹", 0); //起始目录为:桌面
if (Folder != null) {
Folder = Folder.items();
Folder = Folder.item();
Folder = Folder.Path;
new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder);
}
close();
</script>
复制代码
do echo;%%a修改为do copy 1.txt %%a\1.txt
作者:
chishingchan
时间:
2019-9-13 09:26
准确获取需要用到 wmi 命令
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3