作者mars90226 (火星人)
看板EzHotKey
标题[批次] 快速cd至特定资料夹
时间Thu Jun 7 14:56:13 2012
之前写了一个纯ruby版本
可是速度真的太慢了
後来找到在linux上的解法
所以又回来尝试Windows上的解法
简单来说,就是可以用"goto.bat {缩写}"跳到特定资料夹
把下面的程式码存成"goto.bat"
========
goto.bat
========
@echo off
set TEMPFILE=moveto.bat
ruby %HOME%\moveto.rb %* > %HOME%\%TEMPFILE%
if errorlevel 10 (%HOME%\%TEMPFILE%)
else (type %HOME%\%TEMPFILE%)
把下面的程式码存成"moveto.rb",并把它放在%HOME%里面
=========
moveto.rb
=========
require 'optparse'
targets = {
'C' => 'C:\example',
'D' => 'D:\example2',
}
options = {}
OptionParser.new do |opts|
opts.banner = 'Usage: moveto.rb [options]'
opts.on('-l', '--list', 'Display target list') do |l|
options[:list] = l
end
end
if options[:list]
targets.each do |name, path|
puts '%-7s%s' % [name + ': ', path]
end
else
if targets.include? ARGV[0]
puts targets[ARGV[0]][0, 2]
puts "cd #{targets[ARGV[0]]}"
exit(10)
else
puts 'Target not found'
end
end
比如说,你可以用"goto.bat C",就可以跳到C:\example
想要新增资料夹,就在moveto.rb里面的targets新增
//不懂ruby的话就照着打XD
接着把"goto.bat"放在想要进行快速移动的资料夹
//通常是%HOME%,因为"执行 cmd.exe"会在这个资料夹
这个解法的缺点就是不能在任意资料夹进行快速移动
而且我还找不到可以跳进中文资料夹的方法
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.140