无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2012jvnet
打印 上一主题 下一主题

[求助] 经常看到有人就这么把26个字母从头写到尾

[复制链接]
跳转到指定楼层
1#
发表于 2018-7-22 15:16:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
能不能改进一下:
if exist %%1 for /d %%1 in (c:\qq d:\qq e:\qq f:\qq------------------------------------------------------------------z:\qq) do %%1\bin\qq.exe
这中间循环参数假如是26个字母的话,也太死板了,经常看到有人就这么把26个字母从头写到尾。感觉是个问题?
if /l %a in (1 1 26) do command %a 这个数字好搞,但是上面是字母怎么写?
在线等!
2#
发表于 2018-7-22 17:07:47 | 只看该作者
不用循环就是if语句判断吧。
回复

使用道具 举报

3#
发表于 2018-7-22 18:00:59 | 只看该作者
可以考虑Wmic扩展命令或者fsutil命令
回复

使用道具 举报

4#
 楼主| 发表于 2018-7-22 18:18:42 | 只看该作者
来具体点fsutil fsinfo drives
怎么写?
回复

使用道具 举报

5#
发表于 2018-7-22 20:36:57 | 只看该作者
即使用笨办法,为什么不如下把:\qq也移到后面?
if exist %%1 for /d %%1 in (c d e f------------------------------------------------------------------z) do %%1:\qq\bin\qq.exe
回复

使用道具 举报

6#
 楼主| 发表于 2018-7-22 20:56:18 | 只看该作者
问题的核心是:字母如何递增:C D E F ........Z
数字的递增参数是 /l ,那字母呢?
回复

使用道具 举报

7#
 楼主| 发表于 2018-7-22 20:58:15 | 只看该作者
字母是26个,要是260个那不是写成一条龙来
回复

使用道具 举报

8#
 楼主| 发表于 2018-7-22 21:03:26 | 只看该作者
现在换个思路来,不用把字母从头写到尾
我找到了用fsutil fsinfo drives来判断有存在哪些盘符,来设为变量,但是具体的不会写

点评

26个字符 其实是固定的序列 直接使用可能更简洁明了 使用fsutil命令的话,比如: for /f "tokens=1,* delims= " %%a in ('fsutil fsinfo drives') do (set "disks=%%b" ) echo !disks! 使用wim命令的话,比如:  详情 回复 发表于 2018-7-23 09:57
回复

使用道具 举报

9#
发表于 2018-7-22 23:54:11 | 只看该作者
所以啊,能用就用,否则,就不能用
回复

使用道具 举报

10#
发表于 2018-7-23 06:19:31 | 只看该作者
又不是cctv我爱发明,好像不用那么严谨吧。
反正都是程序自己做
别太较真了,现在性能过剩

点评

如果写的每个程序都是按着性能过剩的思路来写,那么一堆按照性能过剩的软件同时运行会是什么情况?  详情 回复 发表于 2018-8-24 21:10
回复

使用道具 举报

11#
发表于 2018-7-23 07:02:10 来自手机 | 只看该作者
wmic logicaldisk get name就可以了
回复

使用道具 举报

12#
发表于 2018-7-23 09:57:44 | 只看该作者
2012jvnet 发表于 2018-7-22 21:03
现在换个思路来,不用把字母从头写到尾
我找到了用fsutil fsinfo drives来判断有存在哪些盘符,来设为变量 ...

26个字符 其实是固定的序列 直接使用可能更简洁明了
使用fsutil命令的话,比如:
for /f "tokens=1,* delims= " %%a in ('fsutil fsinfo drives') do (set "disks=%%b" )
echo !disks!
使用wim命令的话,比如:
for /f "skip=1 tokens=* delims=" %%i in ('wmic logicaldisk where "drivetype=3" get name') do echo %%i
回复

使用道具 举报

13#
发表于 2018-7-23 10:04:10 | 只看该作者
LZ是没撞上,有些加密磁盘用上For循环的话会造成系统崩溃的,在那时候用上绝对路径就能避免这问题
回复

使用道具 举报

14#
发表于 2018-7-23 18:12:40 | 只看该作者
这就是 CMD 的局限性.

只能借助第三方工具,,如用 ASCII 转义.
回复

使用道具 举报

15#
发表于 2018-7-24 23:41:38 | 只看该作者
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set "drv=abcdefghijklmnopqrstuvwxyz"
  4. for /l %%i in (0,1,25) do (        echo !drv:~%%i,1!)
  5. pause
复制代码
回复

使用道具 举报

16#
发表于 2018-7-25 02:59:46 | 只看该作者
本帖最后由 plusv 于 2018-7-25 06:26 编辑

@echo off
for /L %%C in (0x41,1,0x5A) do (
    cmd /C exit %%C
    for /F %%D in ('
        forfiles /P "%~dp0." /M "%~nx0" /C "cmd /C echo 0x%%=ExitCode:~-2%%"
    ') do echo %%D:\bin\qq.exe
)

评分

参与人数 1无忧币 +5 收起 理由
junyee + 5 赞一个!

查看全部评分

回复

使用道具 举报

17#
发表于 2018-8-24 21:10:32 | 只看该作者
tt911 发表于 2018-7-23 06:19
又不是cctv我爱发明,好像不用那么严谨吧。
反正都是程序自己做
别太较真了,现在性能过剩

如果写的每个程序都是按着性能过剩的思路来写,那么一堆按照性能过剩的软件同时运行会是什么情况?
回复

使用道具 举报

18#
发表于 2018-9-1 11:24:16 | 只看该作者
顶楼就是最简单明了的写法。
回复

使用道具 举报

19#
发表于 2018-9-2 21:56:51 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-25 04:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表