답변:
이것은 당신의 작업 내용입니다. ConEmu 빌드 120909에서 체크인했습니다.
>cmd -cur_console:n
cmd -cur_console:s1TVn
cmd -cur_console:s1THn
cmd -cur_console:s2THn
이것은 예입니다. ConEmu에서의 분할은 원하는만큼 복잡 할 수 있으며, 비율에 관계없이 모든 구성이 가능합니다. 프로젝트 읽기 위키를 더에 대한 정보 -new_console
및 -cur_console
스위치.
새 작업을 만들지 않고 모든 것을 실행하려면
이 /cmdlist
ConEmu.exe
의 스위치.
바로 가기 컨텐츠의 사용 예 (예 : 데스크탑) :
ConEmu -cmdlist cmd -cur_console:fn ||| cmd -cur_console:s1TVn ||| cmd -cur_console:s1THn ||| cmd -cur_console:s2THn
다른 cmd 파일에서 실행해야합니까? consoles.cmd
예를 들면 다음과 같습니다 .
start ConEmu -cmdlist cmd -cur_console:fn ^|^|^| cmd -cur_console:s1TVn ^|^|^| cmd -cur_console:s1THn ^|^|^| cmd -cur_console:s2THn
다음 구현을 생각해 냈습니다. 웹 개발 프로젝트에 사용합니다. 작업 러너 (예 : gulp), git, javascript 컴파일러 (예 : typescript) 등의 콘솔. 4 개의 콘솔 창을 열고 디렉토리를 * .cmd를 실행 한 디렉토리로 변경하는 것이 목표였습니다. 배치 스크립트를 변경해야 할 경우를 대비하여 여러 개의 배치 스크립트 사본을 갖고 싶지 않았습니다. 나는 쉘이 배치되는 것을 원하지 않았고 쉘이 bash가되기를 원했다. 나는 창문에 있으므로 bash 쉘에는 cygwin이 필요합니다.
임의로 이름이 지정된 .cmd 파일을 만들었습니다. 나는 내 전화했다 4 consoles.cmd
. Cygwin이 설치되어 있습니다 (필자의 경우 64 비트 버전). Cygwin chere
패키지도 설치되어 필요합니다.
4 consoles.cmd
함유량:
@echo off
for %%i in ("%~dp0..\..") DO (set dirVar=%%~ni)
for %%i in ("%~dp0.") DO (set dir2Var=%%~ni)
set finalValue=%dirVar% %dir2Var%
start C:\"Program Files"\ConEmu\ConEmu64.exe -cmdlist ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:fna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico" ^|^|^| ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:s1TVna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico" ^|^|^| ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:s1THna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico" ^|^|^| ^
C:\cygwin64\bin\bash -c "/bin/xhere /bin/bash.exe" -cur_console:s2THna:t:"%finalValue%":C:"C:\cygwin64\Cygwin.ico"
내가 넣어 4 consoles.cmd
A의 파일 호스팅 서비스 백업 목적으로 내 하드 드라이브 충돌을 넣다 위해. 또한 개발 시스템간에 공유 할 때 편의를 위해.
배치 스크립트는 모든 4 개의 콘솔 창의 디렉토리를 .cmd가있는 디렉토리로 변경합니다. 그래서 4 개의 콘솔 창 모두 디렉토리를 변경할 디렉토리에 하드 심볼릭 링크를 만들었 습니다. 심볼릭 링크는 다시 표준을 가리 킵니다 4 consoles.cmd
.
심볼릭 링크를 실행하면 4 개의 콘솔 셸 작업 디렉토리가 심볼릭 링크가 파일 시스템에있는 위치가됩니다.
관심있는 사람을위한 내 꿀꺽 꿀꺽 꿀꺽 꿀꺽 꿀꺽 타는 사람
package.json
{
"name": "MyApp",
"version": "1.0.0",
"description": "",
"main": "gulpfile.js",
"private": true,
"devDependencies": {
"del": "^1.2.0",
"gulp": "^3.9.0",
"gulp-batch": "^1.0.5",
"gulp-concat": "^2.5.2",
"gulp-imagemin": "^2.2.1",
"gulp-minify-css": "^1.1.6",
"gulp-ng-annotate": "^1.0.0",
"gulp-plumber": "^1.0.1",
"gulp-rename": "^1.2.2",
"gulp-sourcemaps": "^1.5.2",
"gulp-uglify": "^1.2.0",
"gulp-watch": "^4.2.4",
"imagemin-pngquant": "^4.1.0"
},
"author": "Author",
"license": "ISC"
}
bower.json
{
"name": "MyProject",
"version": "1",
"license": "MIT",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components"
],
"dependencies": {
"bootstrap": "~3.3.4",
"jquery": "~2.1.3",
"angular": "~1.4.0",
"angular-route": "~1.4.0",
"angular-animate": "~1.4.0",
"font-awesome": "~4.3.0",
"underscore": "~1.8.3",
"bootstrap-datepicker": "~1.4.0",
"angularjs-toaster": "~0.4.12",
"angular-scroll": "~0.7.0",
"moment": "~2.10.2",
"angular-loading-bar": "~0.7.1"
}
}
gulpfile.js
'use strict';
var gulp = require('gulp');
var batch = require('gulp-batch');
var sourcemaps = require('gulp-sourcemaps');
var minifycss = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var del = require('del');
var plumber = require('gulp-plumber');
var watch = require('gulp-watch');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
var ngAnnotate = require('gulp-ng-annotate');
gulp.task('default', ['clean'], function () {
gulp.start('images', 'vendorCss', 'applicationCss', 'fontIcons', 'vendorJavascript', 'applicationJavascript');
});
gulp.task('clean', function (cb) {
del(['./dist/*'], cb);
});
gulp.task('images', function () {
return gulp.src([
'./content/img/**/*'
])
.pipe(imagemin({
optimizationLevel: 3,
progressive: true,
interlaced: true,
svgoPlugins: [{ removeViewBox: false }],
use: [pngquant()]
}))
.pipe(gulp.dest('./dist/img'));
});
gulp.task('fontIcons', function () {
return gulp.src([
'./bower_components/bootstrap/dist/fonts/**.*',
'./bower_components/font-awesome/fonts/**.*'
])
.pipe(gulp.dest('./dist/fonts'));
});
gulp.task('vendorCss', function () {
return gulp.src([
'./bower_components/bootstrap/dist/css/bootstrap.css',
'./bower_components/font-awesome/css/font-awesome.css',
'./bower_components/angularjs-toaster/toaster.css',
'./bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css',
'./bower_components/angular-loading-bar/build/loading-bar.css'
])
.pipe(concat('vendor.css'))
.pipe(gulp.dest('./dist/css'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('./dist/css'));
});
gulp.task('vendorJavascript', function () {
return gulp.src([
'./bower_components/jquery/dist/jquery.js',
'./bower_components/angular/angular.js',
'./bower_components/angular-route/angular-route.js',
'./bower_components/angular-resource/angular-resource.js',
'./bower_components/angular-animate/angular-animate.js',
'./bower_components/angular-scroll/angular-scroll.js',
'./bower_components/angular-loading-bar/build/loading-bar.js',
'./bower_components/angularjs-toaster/toaster.js',
'./bower_components/bootstrap/dist/js/bootstrap.js',
'./bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.js',
'./bower_components/underscore/underscore.js',
'./bower_components/moment/moment.js'
])
.pipe(sourcemaps.init())
.pipe(concat('vendor.js'))
.pipe(gulp.dest('./dist/script'))
.pipe(uglify())
.pipe(rename('vendor.min.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./dist/script'));
});
gulp.task('applicationCss', function () {
return gulp.src([
'./content/css/site.css',
'./content/css/animation.css'
])
.pipe(plumber())
.pipe(concat('app.css'))
.pipe(gulp.dest('./dist/css'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('./dist/css'));
});
gulp.task('applicationJavascript', function () {
return gulp.src([
'./angular/**/*.js'
])
.pipe(plumber())
.pipe(ngAnnotate())
.pipe(sourcemaps.init())
.pipe(concat('app.js'))
.pipe(gulp.dest('./dist/script'))
.pipe(uglify())
.pipe(rename('app.min.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./dist/script'));
});
gulp.task('watchApplicationJavascript', ['applicationJavascript'], function () {
watch('./angular/**/*.js', batch(function (events, done) {
gulp.start('applicationJavascript', done);
}));
});
gulp.task('watchApplicationCss', ['applicationCss'], function () {
watch(['./content/css/site.css', './content/css/animation.css'], batch(function (events, done) {
gulp.start('applicationCss', done);
}));
});