[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
原帖由 batman 于 2010-1-12 10:19 发表
你的问题真的很好解决,唉:@echo off&setlocal enabledelayedexpansion
set /p i=[請輸入Mklink源文件路徑支持滑鼠拖拽]
ECHO.
set /p l=[請輸入Link目標文件路徑支持滑鼠拖拽]
for /f "delims=" %%a in ("%i%" ...

斑斑出錯了
[請輸入Mklink源文件路徑支持滑鼠拖拽]"D:\Users\i - Copy\P h o  t o s"

[請輸入Link目標文件路徑支持滑鼠拖拽]"D:\Users\i - Copy\New folder"
Parameter format not correct - "j"D:\Users\i - Copy\New folder"\P".
Press any key to continue . . .

TOP

极端地问楼上
但要是一个文件根本就没有后缀怎么办呢?
(同时试答LZ“判斷輸入的是路徑還是文件”):

for /f "delims=" %i in ("只是名字无后缀 目录或文件待测 且有空格") do if not exist %~snxi\nul: echo 这才是文件

兰字是你输入或拖拽进去的变量,
红字是关键,nul:是虚设备
~S 解决目录或文件名中有空格的问题

———向bAtMAN报到。。。

TOP

原帖由 Nano 于 2010-1-12 01:34 发表
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSIONFOR %%I IN (A B 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 %%I:\* (       CD /D %%I:       FOR /F "DELIMS=" %%A IN ('DIR /S/B 2009_*.txt ...


set FOO=!FOO:*_=!
抄错了吧,文件名不可能有星号的呀,又不是匹配串。。。

TOP

回复 18楼 的帖子

这个是set命令的字符串替换功能,参考:

set截取字符详解
http://www.bathome.net/thread-996-1-1.html

set变量字符截取点点通
http://www.bathome.net/thread-40-1-1.html

新手set截取字符练习工具
http://www.bathome.net/thread-1149-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 Rstv 于 2010-1-12 15:15 发表
极端地问楼上
但要是一个文件根本就没有后缀怎么办呢?
(同时试答LZ“判斷輸入的是路徑還是文件”):

for /f "delims=" %i in ("只是名字无后缀 目录或文件待测 且有空格") do if not exist %~snxi\nul: echo ...
for /f "delims=" %i in ("%src%") do if not exist %~snxi\nul:
窗口一閃就沒了什麼也沒出現
還有上邊的BAT對不帶擴展名的文件無效已驗證。。盼達人修正

TOP

回复 19楼 的帖子

嗯,,知道的。。
问题是之前有:

FOR /F "DELIMS=" %%A  IN  ('DIR /S/B 2009_*.txt 2^>nul')  DO  set  FOO=%%~nA

FOO是从文件列表里取的,怎么会有包含*的文件名,OS不允许啊!!
也怪我没把 13楼的题引用完全,不好意思了。

TOP

回复 20楼 的帖子

我是直接在窗口下做的测试,你加到文件中当然要改成双%
那只是给你举的例子。。。
nx 改成 f 吧,我是在当前路径执行的,所以放到你那儿不成,
这回反复验证了,拖拽或窗口输入,有/无引号+空格都行。。。

TOP

某日在linux下建立了一个名字比较有趣的文件,后面那个文件是旁边的东东,无关。



刚跑去cn-dos 。一看第一个贴还是楼主的这个主题。进去一看回复的还有batman……
真像硬链接……


[ 本帖最后由 523066680 于 2010-1-12 19:32 编辑 ]

TOP

楼主这个繁体字 真是头晕死了

!!!楼主这个繁体字 真是头晕死了

TOP

回复 20楼 的帖子

  1. @echo off
  2. type nul >"C:\test\Bat Home"
  3. md "C:\test\Bat Cher"
  4. for /f "delims=" %%a in ("C:\test\Bat Home") do (
  5.     if exist "%%a" (
  6.         if not exist "%%a\" (
  7.             echo %%a is a file.
  8.         )
  9.     )
  10. )
  11. for /f "delims=" %%a in ("C:\test\Bat Cher") do (
  12.     if exist "%%a\" (
  13.         echo %%a is a folder.
  14.     )
  15. )
复制代码
C:\Test>test.bat
C:\test\Bat Home is a file.
C:\test\Bat Cher is a folder.
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我认为楼上代码很优美很漂亮,也很好理解。
有时候不必要老是追求一句话代码
(只是回忆起以前我跟风追求一句话代码,不精通结果还搞了一大堆篓子)

[ 本帖最后由 523066680 于 2010-1-12 22:11 编辑 ]

TOP

返回列表