Board logo

标题: [文本处理] [已解决]批处理怎样将完整路径转化成短路径 [打印本页]

作者: zhangop9    时间: 2011-8-22 13:50     标题: [已解决]批处理怎样将完整路径转化成短路径

本帖最后由 pcl_test 于 2016-7-10 22:12 编辑

BackupList.txt中内容为
C:\Documents and Settings\Administrator\Application Data\Microsoft\IME\winabc
C:\Documents and Settings\Administrator\Application Data\Microsoft\IME\MSSCIPY


还有好多完整的路径不止两个

BackupList.txt中内容
转变为这样,能拖动更好
C:\Docume~1\Administrator\Applic~1\Microsoft\IME\winabc
C:\Docume~1\Administrator\Applic~1\Microsoft\IME\MSSCIPY
  1. @echo off
  2. (for /f "delims=" %%i in (backuplist.txt) do echo %%~si)>$
  3. move $ backuplist.txt
  4. pause
复制代码
就是说我的backuplist.txt,文件名是任意的,拖到bat就转成短路径的!

这个也很好用
可是拖个文件夹注:文件夹不是空的有文件,要文件的短路径,上去也没行
  1. FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~si>>1.txt
  2. pause
复制代码

作者: raymai97    时间: 2011-8-22 18:43

能拖动更好?什么意思?
作者: lvsehuaxue    时间: 2011-8-22 18:51

本帖最后由 lvsehuaxue 于 2011-8-23 00:37 编辑
  1. @echo off
  2. (for /f "delims=" %%i in (backuplist.txt) do echo %%~si)>$
  3. move $ backuplist.txt
  4. pause
复制代码

作者: CrLf    时间: 2011-8-22 18:54

短名由环境+完整路径决定,二者缺一不可
作者: zaixinxiangnian    时间: 2011-8-22 18:56

  1. FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~si>>1.txt
  2. pause
复制代码
放在你要获得短路径的目录就行了
作者: zhangop9    时间: 2011-8-22 19:54

本帖最后由 zhangop9 于 2011-8-22 20:04 编辑
  1. @echo off
  2. (for /f "delims=" %%i in (backuplist.txt) do echo %%~si)>$
  3. move $ backuplist.txt
  4. pause
复制代码
就是说我的backuplist.txt,文件名是任意的,拖到bat就转成短路径的!

这个也很好用
可是拖个文件夹上去也没行
  1. FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~si>>1.txt
  2. pause
复制代码

作者: lvsehuaxue    时间: 2011-8-23 10:24

本帖最后由 lvsehuaxue 于 2011-8-23 10:26 编辑

将文件或文件夹拖动到批处理上即可显示端文件名路径
  1. @echo off
  2. echo %%~s1
  3. pause
复制代码

作者: zaixinxiangnian    时间: 2011-8-23 17:21

回复 7# lvsehuaxue


    lvsehuaxue    你这个不行啊
作者: zhangop9    时间: 2011-8-23 18:07

那个可能用了,自己搞搞算了




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2